使用python 2.7.12 im使用一个简单的程序:
import time
print('Whats Your Name?')
name=input()
print('Happy Birthday to You')
time.sleep(1.5)
print('Happy Birthday to You')
time.sleep(1.8)
print('Happy Birthday Dear '+name)
time.sleep(2)
print('Happy Birthday to You')
time.sleep(1.5)
然而,当我尝试输入名字时,我得到了这个:
你的名字是什么? 杰夫
Traceback (most recent call last):
File "E:\Python\happybirthday.py", line 3, in <module>
name=input()
File "<string>", line 1, in <module>
NameError: name 'Jeff' is not defined
为什么呢?这似乎发生在需要输入的每个程序上。
答案 0 :(得分:1)
答案 1 :(得分:1)
在使用Python 2.x时,您需要使用raw_input()
而不是input()
。
在Python 2.x中input()
将尝试评估您的输入,而raw_input()
将返回您可以使用的字符串。
希望这有帮助!
答案 2 :(得分:0)
如果您想根据用户输入的内容将字符串传递到name
,则应使用raw_input()
代替input()
。
答案 3 :(得分:0)
raw_input()
和input()
之间的差异:
input()
正在寻找表达。
如果您将1+1
提交给input()
,它会对其进行评估并返回2
。
jeff
不是表达式,会引发错误
如果输入为"jeff"
或'jeff'
,input()
将返回相同的字符串。
raw_input()
正在寻找字符串。
如果您将1+1
提交给raw_input()
,则会返回"1+1"
(字符串)。
如果您将jeff
提交给raw_input()
,则会返回"jeff"
。
raw_input()
重命名为input()
,raw_input()
已删除。