python绘制如下图形、小三角形边长20_python二级操作题与分析(7)
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("{:.2f}".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("均方差為:{:.2f}".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","")
ls.append(line.split(",")[0])
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("{0:<10}:{1:<5}次".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绘制如下图形、小三角形边长20_python二级操作题与分析(7)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 抽象类和抽象方法----java
- 下一篇: 在yuv域如何降低画面亮度_家庭影院投影