python二級操作題與分析(7)

2021-09-12 08:03:34 字數 3888 閱讀 3171

1.基本操作題 (1)

從鍵盤輸入 3 個數作為三角形的邊長,在螢幕上顯示輸出由這 3 個邊長構成三角形的面積(保留 2 位小數)。

請參照**模板,完善**。

輸入輸出示例

輸入	輸出
示例 1 3,3,3 3.90

習題講解

a,b,c = eval(input())

p = (a+b+c)/2

area = pow(p * (p-a)*(p-b)*(p-c),0.5)

print("".format(area))

//s=根號下:p(p-a)(p-b)(p-c) 其中p=1/2(a+b+c)

這個公式叫海**式

s=√[p(p-a)(p-b)(p-c)]

而公式裡的p為半周長:p=(a+b+c)/2

2.基本操作題(2)

將乙個列表中所有的單詞首字母轉換成大寫。

請參照**模板,完善**。

輸入輸出示例

輸入 輸出

示例 1 [「python」,「is」,「opening」] [『python』, 『is』, 『opening』]

習題講解

ls = eval(input())

for i in range(len(ls)):

ls[i] = ls[i].capitalize()

print(ls)

3.基本操作題(3)

從鍵盤輸入乙個列表,計算輸出列表元素的均方差。 //標準差

請參照**模板,完善**。本題支援自動評閱。

方差s2=[(x1-x)2+(x2-x)2+…(xn-x)2]/(n)(x為平均數)

⒉標準差=方差的算術平方根errorbar

pow() 方法返回 xy(x的y次方) 的值。

輸入輸出示例

輸入	輸出
示例 1 [99,98,97,96,95] 均方差為:1.58

習題講解

def mean(numlist):

s = 0.0

for num in numlist:

s = s + num

return s/len(numlist)

def dev(numlist,mean):

sdev = 0.0

for num in numlist:

sdev = sdev + (num - mean)**2

return (sdev /(len(numlist)-1) )** 0.5#請輸入乙個列表:

ls = eval(input(""))

print("均方差為:".format(dev(ls,mean(ls))))

4.簡單操作題(1)

使用 turtle 庫的 turtle.right() 函式和 turtle.circle() 函式繪製乙個星星圖形,如下圖所示。

請參照**模板,完善**。

自動評閱說明

使用字串形式輸出,,____③____中應填**即可以自動評閱得分

例如,如果**為:

import turtle | import turtle

d = 0 | d = 0for i in range(1): | for i in range(1):

turtle.fd(2) | turtle.fd(100)

d =3| d = (i + 100) * 100

turtle.seth(d) | turtle.seth(d)

則在提交**頁面輸入:

print(『1』, 『100』, 『(i + 100) * 100』)

提交後即可以檢視得分

注:如果有運算子,請在運算子兩側加上空格

習題講解

import turtle

for i in range(4):

turtle.circle(-90,90)

turtle.right(180)

print(-90,180)

5.簡單操作題(2)

用字典和列表型變數完成某課程的考勤記錄統計,某班有 74 名同學,名單由考生目錄下檔案 txt 給出,某課程 10 次考勤資料由考生目錄下檔案 1.csv,2.csv … 給出。請輸出全勤同學的名字。

請參照**模板,完善**。

輸入輸出示例

輸入 輸出

示例 1 全勤同學有:陳恆傑,張冲,蔡馮順,…

習題講解

# 從csv檔案中讀取考勤資料

ls =

for i in range(1,11):

fo = open(str(i) +".csv","r",encoding = "utf-8")

for line in fo:

line = line.replace("\n","")

fo.close()

counts = {}

for name in ls:

counts[name] = counts.get(name,0) + 1

items = list(counts.items())

print("全勤同學有:",end ="")

for i in range(1,74,1):

word,count = items[i]

if count == 10 :

#print(":次".format(word,count))

print(word,end =",")

6.綜合應用題

蘇格拉底是古希臘著名的思想家、哲學家、教育家、公民陪審員。蘇格拉底的名言部分被翻譯為中文,部分內容分詞結果由考生目錄下檔案 sgldout.txt 給出。對檔案 sgldout.txt 進行分析,輸出詞頻排名前五的詞 (不包括中文標點符號) 和次數到 sgldstatistics.txt。

參照輸出格式如下:

了:234

了:234

了:234

了:234

了:234

請參照**模板,完善**,通過單機測試執行程式。

自動評閱說明

不需要開啟(open)寫入(writeline)檔案,使用 print 輸出內容即可自動評閱。

習題講解

import jieba

fo = open("sgldout.txt","r",encoding ="utf-8")

words = fo.readlines()

fo.close()

sym = ";。,「」: "

dictwords = {}

for ls in words:

if ls[:-1] not in sym:

dictwords[ls[:-1]] = dictwords.get(ls[:-1], 0) + 1

l = list(dictwords.items())

l.sort(key = lambda s:s[1],reverse=true)

# 輸出到檔案

fo = open("sgldstatistics.txt", "w", encoding="utf-8")

for i in range(5):

fo.writeline(l[i][0] + ":" + str(l[i][1]) + "\n")

fo.close()

# print 輸出for i in range(5):

print(l[i][0] + ":" + str(l[i][1]))

python二級操作題(3)

從鍵盤輸入4個數字,各數字採用空格分開,對應變數為x0,x1,y0,y1。計算 x0,y0 和 x1,y1 之間的距離,保留兩位有效數字 例如 輸入 0 1 3 5 輸出 5.00 請在 處使用一行 或表示式替換 注意 請不要修改其他已給出 ntxt input 請輸入4個數字 空格分隔 x0 ev...

二級c 基本操作題小結

經過這幾天對二級c 的分類學習,感覺還是有規律可循的,基於我對基本操作的學習,總結知識點如下 建構函式的特性 建構函式的名必須與定義它的類同名 建構函式沒有返回值。如果在建構函式前加void,int,double等是錯誤的 建構函式被宣告定義為公有函式 建構函式在建立時由系統自動呼叫 析構函式也是類...

python二級操作題知識總結 第一題

python二級操作題第一題佔五分,而且題目非常固定是必不可少的得分點。主要會考察format 方法的格式控制,input方法,eval方法,還有轉義字元 首先說一下eval方法 eval函式將去掉字串最外側的引號,並按照python語句執行去掉引號後的字元內容。eval方法常常與input方法結合...