我是Python新手,在过去的几个月里一直在自学。我正在使用的这本书教Python 2.7,而我正试图在3.4中学习Python。现在我已经习惯了同时使用这两种方法,但是对于我的生命,我无法用enter键来确定如何退出while循环。代码显示如下:
total = 0
count = 0
data = eval(input("Enter a number or press enter to quit: "))
while data != "":
count += 1
number = data
total += number
average = total / count
data = eval(input("Enter a number or press enter to quit: "))
print("The sum is", total, ". ", "The average is", average)
我一直有这个错误:
Traceback (most recent call last):
File "/Users/Tay/Documents/Count & Average.py", line 10, in <module>
data = eval(input("Enter a number or press enter to quit: "))
File "<string>", line 0
^
SyntaxError: unexpected EOF while parsing
我可以在2.7中使用此代码的修改版本,但我想知道如何在3.4中执行此操作。我到处找遍了,似乎找不到答案。
将用户的输入保持为字符串,直到检查其内容:
请尝试此正确版本的代码。你的逻辑是正确的,但你有几个错误。您不需要
eval
,在将数字添加到总数时,您必须将其转换为integer
,最后,您必须在打印之前定义函数外部的平均值。示例:
我分离了一个eval函数,它是数字,我让它保持浮点数,看起来有点干净。
相关问题 更多 >
编程相关推荐