【发布时间】:2017-10-16 19:46:19
【问题描述】:
试图让它运行超过 3 行文本,但我现在的两行甚至都不能正常工作。
文本文件是
74,85,65,56
97,67,83,96
这是我一直在处理的代码
file = open('grades.txt','r')
for x in file:
read = file.readline()
sep = read.split(",")
def toNumbers():
changeNum = [eval(x) for x in sep]
return changeNum
def sumlist():
total = 0
sum(pls)
average = sum(pls)/len(sep)
print ("Your average is: ", average)
def main():
sumlist()
pls = toNumbers()
main()
输出应该是
Your average is: 70.0
Your average is: 85.75
我得到的只是这个
Your average is: 85.75
当我在文本文件中添加第三行时,出现此错误
SyntaxError: unexpected EOF while parsing
第三行也只是文本文件中的一行数字,可以从那里继续
74,85,65,56
97,67,83,96
10,20,30,40
输出应该是
Your average is: 70.0
Your average is: 85.75
Your average is: 25.0
【问题讨论】:
-
请说明第三行是什么。
-
看起来你正在用每个循环覆盖
sep。 -
@EamonnKenny 我为你编辑了我的帖子,它只是另一行数字。
-
@AlexPshenko,这是问题的一部分。看我的回答。
-
并不意味着苛刻。我在开始时做了完全相同的事情,所以你只是在做其他人做的事情。我只是给你一个提示,以避免将来出现此类问题。如果您从文件生成列表,请确保该列表是完全独立的并传递给下一个函数。不要尝试阅读函数之外的内容。这就是我要说的。 DavidG 的回复就是这样做的,这也是为什么他的代码干净且易于理解的原因。
标签: python python-3.x