1

请忽略这个例子,它只是在我目前正在学习的一本书中。

我在 Netbeans 6.9.1 中运行它,因为 7 不支持 Python :( 尝试在输出控制台中运行它时出现错误。代码与教科书中的内容完全相同。唯一我能想到的是,net beans 只支持 2.7.1,但我正在学习的书是 Python 3.1。这可能是问题吗?如果我忽略了一些东西,请告诉我。

这是基本脚本;

# Word Problems
# Demonstrates numbers and math

print("If a 2000 pound pregnant hippo gives birth to a 100 pound calf,");
print("but then eats 50 pounds of food, how much does she weigh?");
input("Press the enter key to find out.");
print("2000 - 100 + 50 =", 2000 - 100 + 50); 

input("\n\nPress the enter key to exit");


Traceback (most recent call last):
  File "/Users/Steve/Desktop/NewPythonProject/src/newpythonproject.py", line 6, in <module>
    input("Press the enter key to find out.");
  File "<string>", line 0

^
SyntaxError: unexpected EOF while parsing

-多谢你们。

4

1 回答 1

5

问题是这input()在 Python 3.x 中意味着不同的东西。在 Python 2.x 中,等效函数是raw_input().

只需将您的呼叫替换为input()to raw_input(),它就会按预期工作:

# Word Problems
# Demonstrates numbers and math

print("If a 2000 pound pregnant hippo gives birth to a 100 pound calf,")
print("but then eats 50 pounds of food, how much does she weigh?")
raw_input("Press the enter key to find out.")
print("2000 - 100 + 50 =", 2000 - 100 + 50)

raw_input("\n\nPress the enter key to exit")

这导致问题的原因是在Python 2.x 中,input()获取用户文本,然后将其解释为 Python 表达式。当您给它一个空行时,这是一个无效的表达式,它会引发异常。

如果您正在学习 Python 3.x,我强烈建议您使用不同的编辑器。PyCharm 很棒(虽然不是免费的),而且 Eclipse+Pydev 就在那里。老实说,你并不真的需要Python 的 IDE——一个像 Gedit 这样支持代码高亮的优秀文本编辑器就是你真正需要的。

另请注意,我删除了分号,这在 Python 中是完全多余的。

于 2012-05-01T15:42:26.733 回答