904 資料計算
本題重點:
讀取read.txt(每一列的格式為名字和身高、體重,以空白分隔)
並顯示檔案內容、所有人的平均身高、平均體重以及最高者、最重者。
五個重點
1.讀檔 使用read() 、讀取多行使用 readlines()
2.顯示檔案內容 ,使用for 迴圈一筆一筆讀出
3.分割字串使用split(),並把身高體重轉型成數值 ,使用eval()
4.算出平均身高、體重 sum()加總後、除以 筆數可使用 len() 算筆數
5.找出最高與最重 ,一筆筆的去比較最大值。
1. 題目說明:
請開啟PYD904.py檔案,依下列題意進行作答,使輸出值符合題意要求。作答完成請另存新檔為PYA904.py再進行評分。
請注意:資料夾或程式碼中所提供的檔案路徑,不可進行變動,read.txt檔案需為UTF-8編碼格式。
2. 設計說明:
請撰寫一程式,讀取read.txt(每一列的格式為名字和身高、體重,以空白分隔)並顯示檔案內容、所有人的平均身高、平均體重以及最高者、最重者。
提示:輸出浮點數到小數點後第二位。
3. 輸入輸出:
輸入說明
讀取read.txt(每一行的格式為名字和身高、體重,以空白分隔)
輸出說明
輸出檔案中的內容
平均身高
平均體重
最高者
最重者
輸入輸出範例
範例輸入
無
範例輸出
Ben 175 65
Cathy 155 55
Tony 172 75
Average height: 167.33
Average weight: 65.00
The tallest is Ben with 175.00cm
The heaviest is Tony with 75.00kg
read.txt
Ben 175 65
Cathy 155 55
Tony 172 75
參考程式碼:
height=[]
weight=[]
maxh=0
maxw=0
f=open("read.txt","r")
w=f.readlines()
for x in w:
print(x)
ss=x.split(" ")
height.append(eval(ss[1]))
weight.append(eval(ss[2]))
if (eval(ss[1])>maxh):
maxh=eval(ss[1])
hname=ss[0]
if (eval(ss[2])>maxw):
maxw=eval(ss[2])
wname=ss[0]
avgh=sum(height)/len(height)
avgw=sum(weight)/len(weight)
print("Average height: {:.2f}".format(avgh))
print("Average weight: {:.2f}".format(avgw))
print("The tallest is {} with {:.2f}cm".format(hname,maxh))
print("The heaviest is {} with {:.2f}kg".format(wname,maxw))
Yiru@Studio - 關於我 - 意如