我正在尝试编写一个函数,该函数打开一个包含名称、城市和数字列表的文件,并按城市取数字的平均值。
到目前为止,我有类似的东西:
numbers = 0
count = 0
n = 0
while n < len(file):
for item in file:
if item.split(' ')[-2] == city:
count += 1
numbers += float(item.split(' ')[-1])
n += 1
else:
n += 1
return numbers / count
其中[-2]是城市的位置,[-1]是数字的位置。假设文件已经打开。
我的代码贯穿整个文件,只返回最后一行的内容。因此,如果文件的最后一行有来自伦敦的人,而我正在尝试为伦敦平均,它只会给我一个数字;如果我试图为其他城市平均,它不会返回任何东西。
为什么它会遍历整个文件而不更新我的计数,我该如何解决?
编辑:
编辑代码,文件如下所示:
NAME1 COUNTRY CITY NUMBER
在每一行。