【发布时间】:2015-05-19 00:44:51
【问题描述】:
我是 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?将
while条件放在循环的底部,而不是顶部。 -
以这种方式从用户那里获取输入:anh.cs.luc.edu/python/hands-on/3.1/handsonHtml/io.html
-
我只是按照本指南的代码更改:docs.python.org/2/library/2to3.html。这就是我使用 eval 的原因。我不应该使用 eval 吗?
-
尽可能避免使用
eval()。您可以使用try..except(而不是expect)捕获错误。 -
好的,谢谢TigerhawkT3的提示!
标签: python python-3.x while-loop exit-code