简单的python代码不起作用

时间:2017-09-28 18:33:33

标签: python input output python-2.x

以下代码无效:

person = input('Enter your name: ') 
print('Hello', person)

而不是打印Hello <name>,而是给我以下追溯:

Traceback (most recent call last):
  File  "C:/Users/123/Desktop/123.py", line 1, in <module> 
    person = input('Enter your name: ') 
  File "<string>", line 1, in <module>
NameError: name 'd' is not defined

2 个答案:

答案 0 :(得分:2)

要阅读字符串,您应该使用:

person = raw_input("Enter your name: ")
print('Hello', person)

当您使用input时,它会读取数字或引用变量。当您使用Python 2.7或更低时,会发生这种情况。使用Python 3及更高版本,您只有input个功能。

您的错误表明您输入了“d”,这是您的代码中未声明的变量。

所以如果你有这个代码:

d = "Test"
person = input("Enter your name: ")
print('Hello', person)

你现在输入“d”作为名字,你会得到输出:

>>> 
('Hello', 'Test')

答案 1 :(得分:2)

错误是什么?

你用过这个:

person = input('Enter your name: ') 

你应该用过这个:

person = raw_input('Enter your name: ') 

为什么这些不同

input尝试评估传递给它的内容并返回值,而raw_input只读取一个字符串,这意味着如果您只想读取一个字符串,则需要使用raw_input

在Python 3 input已消失,raw_input现在称为input,但如果您确实希望旧行为exec(input())已旧的行为。