第一个python程序错误消息

时间:2013-09-30 17:40:20

标签: python

我尝试编写我的第一个python程序,但我已收到错误消息。在使用python的计算机科学教科书中,我发现了以下代码:

name = input('What is your name? ')
print('Hello', name)
print('Welcome to Python!')

我多次检查错误,我很确定我输入的内容与教科书状态完全相同。我将程序保存为MyFirstProgram.py,然后运行模块(按F5)。如果我理解正确,程序会要求您填写姓名。所以我键入了'John'。但是当我这样做时,会发生以下错误:

Traceback (most recent call last):
  File "C:/Users/Wout/.ipython/MyFirstProgram.py", line 3, in <module>
    name = input('What is your name? ')
  File "<string>", line 1, in <module>
NameError: name 'John' is not defined

为什么'约翰'没有定义?这个程序的目的不是输入任何名字吗?为什么我要定义它?我按照指示写信......

亲切的问候

4 个答案:

答案 0 :(得分:2)

在Python 2中,

input将输入评估为一段Python代码。这几乎不是你想要的。请改用raw_input

顺便说一句,您编写的代码就像是Python 3一样,但您似乎正在使用Python 2解释器。如果您使用Python 3运行代码,它将正常工作(Python 3中的input与Python 2中的raw_input相同。

答案 1 :(得分:1)

您应该使用raw_input()而不是input(),因为您使用的是python-2.x:

name = raw_input('What is your name? ')
print('Hello', name)
print('Welcome to Python!')

打印:

What is your name? John
('Hello', 'John')
Welcome to Python!

答案 2 :(得分:0)

您正在关注Python 3的教科书但使用Python 2.在Python 2中,必须使用raw_input并且在打印语句中不需要括号。

答案 3 :(得分:0)

'John'将与input一起使用(John无效),但您应该像其他人一样使用raw_input()