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

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应用程序来运行脚本。


当前回答

你应该使用raw_input,因为你使用的是python-2.7。当你在一个变量上使用input()时(例如:s = input('Name: ')),它将在Python环境上执行命令,而不保存你在变量上所写的内容,如果你所写的内容没有定义,则会创建一个错误。

raw_input()将正确保存你在变量上写的内容(例如:f = raw_input('Name: ')),并且它不会在Python环境中执行它而不会产生任何可能的错误:

input_variable = raw_input('Enter Your Name : ')
print("Your Name Is  : " + (input_variable))

其他回答

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

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

Ex:'dude' -> correct

    dude -> not correct

你应该使用raw_input,因为你使用的是python-2.7。当你在一个变量上使用input()时(例如:s = input('Name: ')),它将在Python环境上执行命令,而不保存你在变量上所写的内容,如果你所写的内容没有定义,则会创建一个错误。

raw_input()将正确保存你在变量上写的内容(例如:f = raw_input('Name: ')),并且它不会在Python环境中执行它而不会产生任何可能的错误:

input_variable = raw_input('Enter Your Name : ')
print("Your Name Is  : " + (input_variable))

前几篇贡献不错。

import sys; print(sys.version)

def ingreso(nombre):
    print('Hi ', nombre, type(nombre))

def bienvenida(nombre):
    print("Hi "+nombre+", bye ")

nombre = raw_input("Enter your name: ")

ingreso(nombre)
bienvenida(nombre)

#Works in Python 2 and 3:
try: input = raw_input
except NameError: pass
print(input("Your name: "))
Enter your name: Joe
('Hi ', 'Joe', &lttype 'str'>)
Hi Joe, bye 

Your name: Joe
Joe

谢谢!

如果你已经下载了python3,你可以改变你在IDE中使用的python。X,转换起来应该不难。但是你的脚本在python3上运行良好。x,我只需要改变

print ("your name is" + input_variable)

to

print ("your name is", input_variable)

因为用逗号打印时,你的名字和用户输入的东西之间会有空格。AND:如果你使用2.7,只需使用raw_input而不是input。

对于python 3及以上版本

s = raw_input()

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

s = input()