2019年5月9日 星期四

TQC+ 程式語言Python 904 資料計算

請注意:資料夾或程式碼中所提供的檔案路徑,不可進行變動,read.txt檔案需為UTF-8編碼格式。

設計說明:

請撰寫一程式,讀取read.txt(每一列的格式為名字和身高、體重,以空白分隔)並顯示檔案內容、所有人的平均身高、平均體重以及最高者、最重者。
提示:輸出浮點數到小數點後第二位。

輸入輸出:

輸入說明

讀取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

Code: ( 注意! 被讀取的檔案 和 撰寫程式時的.py檔,必須放在同一個目錄下 )
name ,height ,weight ,data = [],[],[],[]

fp=open('read.txt','r',encoding='UTF-8')
for line in fp:
    print(line) #印出每行字串
    data = line.replace('\n','').split(' ') #將每行字串轉為串列
    #print( data ) #註解,用來檢視轉成串列後的結果
    name.append( data[0] )
    height.append( int(data[1]) )
    weight.append( int(data[2]) )
print("Average height: %.2f"%(sum(height)/len(height)))
print("Average weight: %.2f"%(sum(weight)/len(weight)))
TT = height.index(max(height)) #找出最高者的 "索引值"
print("The tallest is {} with {:.2f}cm"
      .format(name[TT],height[TT]))
HH = weight.index(max(weight)) #找出最胖者的 "索引值"
print("The heaviest is {} with {:.2f}kg"
      .format(name[HH],weight[HH]))
fp.close()