在我的数据文件中
60,66,88,90,44,90,80,77
所有的数字都在一行
这是我的代码,它没有给出我的平均数
inFile3 = open("data2.txt","r")
global gradeVar
gradeVar = len(gradeArray)
global Total
Total = 0
for Numbers in inFile3:
Total = Total + int(Numbers)
inFile3.close()
global averageVar
averageVar = Total/gradeVar
return averageVar
这就是错误
^{pr2}$
虽然其他人已经指出了你所做的事情所涉及的一些问题,但没有人指出平均数不仅需要所有部分的总和,而且还需要所有元素的数量。因此
将其转换为发电机,可以用作:
^{pr2}$你的问题是:
上面代码中的
^{pr2}$Numbers
是一个行列表,而不是一个数字列表。在应该有帮助。在
您也不需要像在Python中那样预先声明变量。事实上,如果你不知道自己在做什么和为什么,那么与global合作是非常危险的。在
编辑: 如果在一行末尾有逗号,则可以将最后一行更改为:
这将忽略任何“空”数字字符串,否则将引发错误。在
这条线:
实际上是迭代文件的行,而不是每行中的数字。您需要迭代行,然后将每行拆分为数字,如下所示:
^{pr2}$相关问题 更多 >
编程相关推荐