我正在通过 John Zelle 的 Python Programming (For Python 3) 工作,直到最近我一直在运行 10.7 的 MacBook Pro 上完成我的所有工作。我在两个平台上都在 Eclipse Juno 中工作。我决定将我所有的项目移到装有 Windows 7 的 PC 上,并将它们导入到 Eclipse Juno 中。我注意到每个带有 eval(input())
的应用程序都坏了,但它们都在 Macbook 上运行。我从书中输入的任何代码都是新的。为什么这在一个平台上有效,而在另一个平台上无效?以下是适用于 MacOS 但不适用于 Windows 的代码示例:
def main():
sum = 0.0
count = 0
xStr = input("Enter a number (<Enter> to quit) >> ")
while xStr != "":
x = eval(xStr)
sum = sum + x
count = count + 1
xStr = input("Enter a number (<Enter> to quit) >> ")
print("\nThe average of the numbers is", sum / count)
main()
这在 Mac 上运行良好,但在 Windows 中会出现此错误:
Enter a number (<Enter> to quit) >> 5
Traceback (most recent call last):
File "C:\Users\Nostromo\workspace\Chapter 11\average4.py", line 18, in <module>
main()
File "C:\Users\Nostromo\workspace\Chapter 11\average4.py", line 12, in main
x = eval(xStr)
File "<string>", line 1
5
^
SyntaxError: unexpected EOF while parsing
最佳答案
如果将 input() 更改为 raw_input() 会怎样?
关于python - eval() 在 MacOS 中有效,但在 Windows 中无效,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14549521/