如何修复Python3.x中input()函数中的NameError?

如何修复Python3.x中input()函数中的NameError?,python,python-3.x,windows,nameerror,Python,Python 3.x,Windows,Nameerror,我目前正在Windows10上运行Python 3.7.2。我正在尝试使用此代码print('Hello'+input()),但它不起作用。当我在Python打印“Hello”后输入一个名称(例如John)时,它会给出以下错误消息: Traceback (most recent call last): File "<pyshell#1>", line 1, in <module> John NameError: name 'John' is not defined

我目前正在Windows10上运行Python 3.7.2。我正在尝试使用此代码
print('Hello'+input())
,但它不起作用。当我在Python打印“Hello”后输入一个名称(例如John)时,它会给出以下错误消息:

Traceback (most recent call last):
File "<pyshell#1>", line 1, in <module>
    John
NameError: name 'John' is not defined
回溯(最近一次呼叫最后一次):
文件“”,第1行,在
约翰
NameError:未定义名称“John”
我试着在互联网上寻找解决方案,但大多数人都在谈论Python 2.x上的
input()
应该如何
raw\u input()
,但我找不到任何Python 3.x的解决方案。任何帮助都将不胜感激

编辑(添加评论截图):

从您的测试结果来看,我认为您只是在错误地测试它

打字<代码>打印(‘hello’+输入())< /COD>并按Enter键,控制台已经在<代码>输入()/代码>提示(空白行),正在等待您的输入。strong>但是,您再次按下了Enter键,因此

input()
接收到一个空字符串并打印
“Hello”+“
,它只打印
“Hello”

当您键入“John”时,它已被视为下一行代码(由
>
指示),Python将其视为变量,并尝试打印
John
的值,但这显然是未定义的,导致您看到的错误

正确的方法是,在进入<代码>打印(‘hello’+输入())< /代码>后,只需在空白行中键入<代码>约翰<代码>,将其传递给<代码>输入()/代码>:


这就是所有执行的代码吗?否则,请提供您正在执行的全部代码片段。这就是我试图执行的全部代码。为了清晰起见,这里有一个截图:我一定会检查你的python版本。在脚本的顶部,导入sys,然后打印(sys.version)@CalvinGodfrey Python版本3.7.2,因为我得到了这个
3.7.2(tags/v3.7.2:9a3ffc0492,2018年12月23日,22:20:52)[MSC v.1916 32位(英特尔)]