请忽略这个例子,它只是在我目前正在学习的一本书中。
我在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
- 谢谢你们。
答案 0 :(得分:5)
问题是input()
在Python 3.x中意味着不同的东西。在Python 2.x中,等效函数是raw_input()
。
只需将您对[{1}}的来电替换为input()
,即可按预期方式运作:
raw_input()
这导致问题的原因是在Python 2.x, input()
中获取用户文本,然后将其解释为Python表达式。当你给它一个空白行,这是一个无效的表达式时,它会抛出异常。
如果你正在学习Python 3.x,我强烈建议使用不同的编辑器。 PyCharm很棒(尽管不是免费的),Eclipse + Pydev就在那里。说实话,你并不真正需要一个用于Python的IDE - 一个像Gedit这样的优秀文本编辑器,支持代码突出显示就是你真正需要的。
另请注意,我删除了分号,这些分号在Python中完全是多余的。