0
我試圖找到此格式txt文件的最小值和最大值(浮點):試圖找到從txt文件的最小值和最大值的字符串和浮
name
grade
name
grade
name
grade
當我運行我的代碼,我得到一個
TypeError: 'float' object is not iterable
這是我的代碼,似乎無法弄清楚的問題。
def main():
#open gradebook
gradebook_file = open ('gradebook.txt', 'r')
#define name
name = gradebook_file.readline()
while name != '':
grade = float (gradebook_file.readline())
name = name.rstrip ('\n')
print ('Name:', name)
print ('Grade:', grade)
name = gradebook_file.readline()
#append numbers in gradebook
data = []
for lines in gradebook_file:
data.append (grade)
#define min and max values
_min = min (grade)
_max = max (grade)
#print contents
print ('The minimum average grade was a(n) ' + str (_min) + '.')
print ('The maximum average grade was a(n) ' + str (_max) + '.')
#close the gradebook
gradebook_file.close()
#call main
main()
'grade'是一個浮點數,所以我不確定你期望'min'和'max'如何處理浮點數,但正如錯誤所述,浮點數是不可迭代的。順便說一句,你的'for'循環,'gradebook_file'中的行不起作用,因爲你已經用盡了文件處理程序。你必須「尋找」回到文件的開頭,或者更好的是,每次你想遍歷它們時,使用'with'塊來打開你的文件。 –