初学者Python书籍教程问题

时间:2012-05-01 15:38:29

标签: python netbeans python-2.7 netbeans-6.9

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

我在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

- 谢谢你们。

1 个答案:

答案 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中完全是多余的。