如何计算多个整数列表的平均值?在
我遇到了一个问题,试图让这个程序计算文本文件中数据的平均值。在
所以这是我的代码:
import string
from operator import itemgetter
Options=("alphabetical order","highest to lowest","average score")
Option=raw_input("Which order do you want to output?" + str(Options))
choices=("Class 1","Class 2", "Class 3")
file = open("Class1.txt","r")
#Highest to Lowest
lines = file.readlines()
loopcount = len(lines)
for i in range(0,loopcount):
poszerostring = lines.pop(0)
new = str(poszerostring)
new1 = string.strip(new,'\n')
tempArray = new1.split(',')
resultsArray = [tempArray.append(poszerostring)]
name = tempArray.pop()
resultsArray.append(int(tempArray.pop()))
resultsArray.append(int(tempArray.pop()))
resultsArray.append(int(tempArray.pop()))
resultsArray.remove(None)
printedArray = resultsArray
print printedArray
if Option == "average score":
average = 0
sum = 0
for n in printedArray:
sum = sum(str(printedArray))
average = sum / 3
print average
以下是文本文件中的数据:
Bob,8,5,7
Dylan,5,8,2
Jack,1,4,7
Jay,3,8,9
你正在为你的大部分代码重新设计轮子。我将使用
csv
包来读取该文件,这样代码就更干净了。Documentation here。在还有几点建议:
Options
不应该以大写字母开头;类应该loopcount
可以替换为“fori in range(0,len(lines))i
,只需使用for line in lines:
sum = sum(str(printedArray))
将用一个值覆盖函数sum
,使函数{sum(str())
无法正常工作,因为您试图添加字符串,而不是数字with open(file_name) as file_handler:
;这将打开文件并在代码块末尾自动关闭它,从而防止我忘记再次关闭文件(您应该一直这样做);有关with
here的更多信息。在相关问题 更多 >
编程相关推荐