当我尝试在Python 3.0中使用任何可能的输入字符串执行以下代码时,我得到一个NameError:
def onePerLine(str):
for i in str:
print(i)
word=input("Enter a phrase or word: ")
onePerLine(word)
错误如下:
Enter a phrase or word: hello
Traceback (most recent call last):File"C:\Users\R\Documents\Python30\func2.py",line 5, in <module> word=input("Enter a phrase or word: ")
File "<string>", line 1, in <module>
NameError: name 'hello' is not defined
如何修复此问题并让我的代码运行? PS:我是python的新手和一般的编程。任何援助将不胜感激。
答案 0 :(得分:2)
您使用的是Python 2,因此需要使用raw_input
>>> x = input('')
hello
Traceback (most recent call last):
File "<pyshell#0>", line 1, in <module>
x = input('')
File "<string>", line 1, in <module>
NameError: name 'hello' is not defined
使用raw_input
>>> x = raw_input('')
hello
>>> x
'hello'
答案 1 :(得分:1)
您正在使用python 2,您需要使用raw_input
而不是input
来评估字符串并将其视为变量名称。
<强>输入([提示])强>
相当于
eval(raw_input(prompt))
。...
考虑将
raw_input()
函数用于用户的一般输入。