当我试图运行这个简单的脚本时,我得到一个错误:

input_variable = input("Enter your name: ")
print("your name is" + input_variable)

假设我输入“dude”,我得到的错误是:

  line 1, in <module>
    input_variable = input("Enter your name: ")
  File "<string>", line 1, in <module>
NameError: name 'dude' is not defined

我运行的是Mac OS X 10.9.1,我使用的是Python 3.3安装时附带的Python Launcher应用程序来运行脚本。


当前回答

input_variable = input ("Enter your name: ")
print ("your name is" + input_variable)

输入时必须使用单引号或双引号

Ex:'dude' -> correct

    dude -> not correct

其他回答

我们正在使用以下代码,python 2和python 3都可以使用

#Works in Python 2 and 3:
try: input = raw_input
except NameError: pass
print(input("Enter your name: "))

如果您只想读取字符串,请尝试使用raw_input而不是input。

print("Enter your name: ")
x = raw_input()
print("Hello, "+x)

您正在运行Python 2,而不是Python 3。为了在Python 2中工作,使用raw_input。

input_variable = raw_input ("Enter your name: ")
print ("your name is" + input_variable)

对于python 3及以上版本

s = raw_input()

它将解决pycharm IDE上的问题 如果你正在解决的在线网站完全hackerrank然后使用:

s = input()

既然你是为Python 3编写的。X,你会想开始你的脚本:

#!/usr/bin/env python3

如果你使用:

#!/usr/bin/env python

它将默认为Python 2.x。如果没有任何以#!开头的内容,那么它们将出现在脚本的第一行中。(又名shebang)。

如果你的脚本只是以:

#! python

然后你可以把它改成:

#! python3

虽然这种较短的格式只能被少数程序识别,比如启动程序,所以它不是最好的选择。

前两个示例使用得更广泛,有助于确保您的代码可以在任何安装了Python的机器上运行。