python d 中未定义错误。[重复]
- 2024-12-24 08:56:00
- admin 原创
- 92
问题描述:
我正在学习 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: ')
当我运行该程序时
它输出你的名字是什么?(我输入 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 初学者的示例代码。
解决方案 1:
在 Python 2.x 中,input()
期望某个内容是 Python 表达式,这意味着如果您输入,d
它会将其解释为名为 d 的变量。如果您输入"d"
,那么就可以了。
对于 2.x,您可能真正想要的是raw_input()
,它将输入的值作为原始字符串返回,而不是对其进行评估。
由于您遇到这种情况,看起来您正在使用 2.x 版本的 Python 解释器 - 相反,我会访问www.python.org并下载 Python 3.x 解释器,以便它与您所使用的书相匹配。
解决方案 2:
您可能正在使用 Python 2.x,用户输入input
将在哪里。只有在 Python 3.x 中才会返回原始用户输入。eval
`input()`
您可以通过在控制台中运行来检查 Python 的版本python
,例如这是 Python 2.6:
~$ python
Python 2.6.5 (r265:79063, Apr 5 2010, 00:18:33)
[GCC 4.2.1 (Apple Inc. build 5659)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>>
您可以通过以下方式运行特定版本的 Python(例如 3.1)python3.1
:
~$ python3.1
Python 3.1.1 (r311:74480, Jan 25 2010, 15:23:53)
[GCC 4.2.1 (Apple Inc. build 5646) (dot 1)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>>
解决方案 3:
您正在使用的书所教授的 Python 3.0 及更高版本input()
执行的操作与 Python 2 中相同raw_input()
,因此在这种情况下代码是正确的;但是,看起来您使用的是旧版本的 Python(2.6?)。
我建议你去Python 网站下载最新版本的 Python 3,这样你就可以更轻松地学习本书。
鉴于您使用的是 Python 2,直接的问题是您正在使用input()
,它会评估您提供的任何内容。您想要做的是获取用户输入的原始字符串:
Name = raw_input("What is your Name? ")
Python 3.x 和 2.x 之间存在许多细微的差别,因此,如果您想继续使用Python 3(适合绝对初学者)的话,一定要获取最新的 Python 3 。
- 2024年20款好用的项目管理软件推荐,项目管理提效的20个工具和技巧
- 2024年开源项目管理软件有哪些?推荐5款好用的项目管理工具
- 2024年常用的项目管理软件有哪些?推荐这10款国内外好用的项目管理工具
- 项目管理软件有哪些?推荐7款超好用的项目管理工具
- 项目管理软件有哪些最好用?推荐6款好用的项目管理工具
- 项目管理软件哪个最好用?盘点推荐5款好用的项目管理工具
- 项目管理软件排行榜:2024年项目经理必备5款开源项目管理软件汇总
- 项目管理软件有哪些,盘点推荐国内外超好用的7款项目管理工具
- 项目管理必备:盘点2024年13款好用的项目管理软件
- 2024项目管理软件排行榜(10类常用的项目管理工具全推荐)