如何修复 Python 3.x 中 input() 函数中的 NameError?
How to fix NameError in input() function in Python 3.x?
我目前 运行 Python 3.7.2 Windows 10。我正在尝试使用此代码 print('Hello'+input())
但它不起作用。当我输入一个名字,比如 John,在 Python 打印了 'Hello' 之后,它给我以下错误信息:
Traceback (most recent call last):
File "<pyshell#1>", line 1, in <module>
John
NameError: name 'John' is not defined
我尝试在互联网上寻找解决方案,但大多数人都在谈论 input()
应该如何在 Python 2.x 上 raw_input()
但我找不到Python 3.x 的任何解决方案。任何帮助将不胜感激。
编辑(添加来自评论的截图):
根据您的 screenshot,我认为您只是测试不正确。
输入print('Hello'+input())
并按回车键后,控制台已经在input()
提示符(空行处),正在等待你的 输入。 但是,您再次按下了 Enter 键,因此 input()
接收到一个空字符串并打印 "Hello"+""
,它只打印 "Hello"
。
当您键入 "John" 时,它已被视为下一行代码 (由 >>>
表示),Python视为变量并尝试打印 John
的值,但这显然未定义,导致您看到的错误。
正确的做法是,输入print('Hello'+input())
后,在空白行输入John
,传递给input()
:
我目前 运行 Python 3.7.2 Windows 10。我正在尝试使用此代码 print('Hello'+input())
但它不起作用。当我输入一个名字,比如 John,在 Python 打印了 'Hello' 之后,它给我以下错误信息:
Traceback (most recent call last):
File "<pyshell#1>", line 1, in <module>
John
NameError: name 'John' is not defined
我尝试在互联网上寻找解决方案,但大多数人都在谈论 input()
应该如何在 Python 2.x 上 raw_input()
但我找不到Python 3.x 的任何解决方案。任何帮助将不胜感激。
编辑(添加来自评论的截图):
根据您的 screenshot,我认为您只是测试不正确。
输入print('Hello'+input())
并按回车键后,控制台已经在input()
提示符(空行处),正在等待你的 输入。 但是,您再次按下了 Enter 键,因此 input()
接收到一个空字符串并打印 "Hello"+""
,它只打印 "Hello"
。
当您键入 "John" 时,它已被视为下一行代码 (由 >>>
表示),Python视为变量并尝试打印 John
的值,但这显然未定义,导致您看到的错误。
正确的做法是,输入print('Hello'+input())
后,在空白行输入John
,传递给input()
: