※ 引述《zxc45693 ()》之銘言:
: 我想要讀取一個檔案
: 假如那個檔案有3列6行
: 第一行是名字後五行是數字
: 讀取完後顯示
: 並且在每一列最後面算出5個數字的平均值
: 我只想的到行跟列都固定的
: 請問如果行跟列為可變的該如何改
: 求各位老大教我
: https://i.imgur.com/RcLUjMn.jpg
1. 開檔案用完之後記得要關檔案 或是python有提供with 語法
ex:
with open('data.txt', 'r') as infile:
for line in infile:
print line
2. 名字和數字可以用list slice分開
ex:
entry = line.split(' ')
name, nums = entry[0], entry[1:]
甚至可以用map把所有的數字轉成int
nums = map(int, nums)
or
nums = [int(num) for num in nums]
3. 算數列的平均可以直接用sum和len
ex:
s = [1, 2, 3]
avg = sum(s) / len(s)
4. 終於要回答重點了,其實你可以讀一行算一行
ex:
for line in infile:
name, avg = Calculate(line) # 組合上面的語法應該可以寫出這個吧
print('%s average: %s' % (name, avg))