Python NameError:名称'hello'未定义

时间:2015-07-30 11:44:19

标签: python nameerror

当我尝试在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的新手和一般的编程。任何援助将不胜感激。

2 个答案:

答案 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()函数用于用户的一般输入。