如何在Python 2中从键盘获取用户输入?

chr*_*005 2 python input python-2.x

我在Python中编写了一个函数,它提示用户给出两个数字并添加它们.它还会提示用户输入城市并进行打印.出于某种原因,当我在shell中运行它时,在进入城市后我得到"名称未定义".

def func_add(num1, num2):
   a = input("your city")
   print a
   return num1 + num2 
Run Code Online (Sandbox Code Playgroud)

agf*_*agf 8

如果您使用的是Python 2,则需要使用raw_input:

def func_add(num1, num2):

   a = raw_input("your city")
   print a
   return num1 + num2 
Run Code Online (Sandbox Code Playgroud)

input 导致您键入的任何内容都被评估为Python表达式,因此您最终会得到

a = whatever_you_typed
Run Code Online (Sandbox Code Playgroud)

因此,如果没有名为变量的变量,whatever_you_typed您将得到一个变量NameError.

使用raw_input它只需保存您在字符串中输入的内容,最终就可以了

a = 'whatever_you_typed'
Run Code Online (Sandbox Code Playgroud)

它指向a那个字符串,这就是你想要的.