Skip to content

Python 904 資料計算

Python TQC file

題目說明:

請撰寫一程式,讀取read.txt(每一列的格式為名字和身高、體重,以空白分隔)並顯示檔案內容、所有人的平均身高、平均體重以及最高者、最重者。

Info

輸出浮點數到小數點後第二位。

範例輸出
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

題目解析

問題分析:
這個問題要求我們編寫一個程式,從一個名為 “read.txt” 的文件中讀取每一行的內容(每行的格式為名字、身高、體重,以空白分隔),然後顯示文件的內容、計算所有人的平均身高和平均體重,以及找出最高者和最重者。

解題思路:

  1. 首先,我們需要打開 “read.txt” 文件以進行讀取。我們將使用 ‘r’ 模式打開文件。
  2. 接著,我們將逐行讀取文件的內容,並將每行按照空白分隔成名字、身高和體重。
  3. 我們將所有的名字、身高和體重分別存儲在對應的列表中。
  4. 我們計算所有人的平均身高和平均體重,並找出最高者和最重者。
  5. 最後,我們輸出文件的內容、平均身高、平均體重,以及最高者和最重者。

思考方向:

  • 在讀取文件內容後,我們必須將身高和體重轉換為整數類型,以便進行數學運算。
  • 確保文件中的每一行都符合預期的格式(名字、身高、體重),否則需要處理相應的例外情況。
  • 確保文件中至少有一行內容,以避免出現除以零的情況。

Solution

f = open("read.txt", 'r')
N = []
W = []
H = []
for i in f.readlines():
  print(i)
  line = i.split()
  N.append(line[0])
  H.append(int(line[1]))
  W.append(int(line[2]))

print("Average height: {:.2f}".format(sum(H) / 3))
print("Average weight: {:.2f}".format(sum(W) / 3))
print("The tallest is {} with {:.2f}cm".format(N[H.index(max(H))], max(H)))
print("The heaviest is {} with {:.2f}kg".format(N[W.index(max(W))], max(W)))

Warning

要記得讀取檔案的結果值都是字串,要算平均記得要轉換成int格式


Last update : 13 novembre 2024
Created : 13 novembre 2024

Comments

Comments