以下代码无效:
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
答案 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())
已旧的行为。