我正在学习python,并且有这个错误。我能找出代码中的错误所在。
File "<string>", line 1, in <module>
。
Name = ""
Desc = ""
Gender = ""
Race = ""
# Prompt user for user-defined information
Name = input('What is your Name? ')
Desc = input('Describe yourself: ')
当我运行程序时
it输出 你叫什么名字?(i输入d)
这就产生了错误
Traceback (most recent call last):
File "/python/chargen.py", line 19, in <module>
Name = input('What is your Name? ')
File "<string>", line 1, in <module>
NameError: name 'd' is not defined
这是Python 3为绝对初学者编写的示例代码。
您可能正在使用Python 2.x,其中
input
将eval
用户输入。仅在Python 3.x中input()
返回原始用户输入。您可以通过在控制台中运行
python
来检查Python的版本,例如这是Python 2.6:您可以通过
python3.1
运行特定版本的Python(例如3.1):在Python 2.x中,
input()
需要一个Python表达式,这意味着如果您键入d
,它会将其解释为一个名为d的变量。如果您键入"d"
,那么就可以了。2.x实际上可能需要的是
raw_input()
,它将输入的值作为原始字符串返回,而不是对其求值。既然你有这种行为,看起来你在使用一个2.x版本的Python解释器-相反,我会去www.python.org下载一个Python 3.x解释器,这样它就会与你正在使用的书匹配。
在Python 3.0及更高版本中,您正在使用的这本书教导,
input()
做了Python 2中的raw_input()
所做的事情,因此在这种情况下,代码是正确的;但是,看起来您使用的是较旧版本的Python(2.6?)。我建议您去Python website下载最新版本的Python 3,这样您就可以更轻松地阅读本书了。
考虑到您使用的是Python2,当前的问题是您使用的是
input()
,它计算您给出的任何结果。您要做的是获取用户输入的原始字符串:Python 3.x和2.x之间的差别很小,所以如果您想继续为绝对初学者使用python3,一定要使用最新的python3。
相关问题 更多 >
编程相关推荐