如何修复 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():