繁体   English   中英

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

[英]How to fix NameError in input() function in Python 3.x?

我目前在 Windows 10 上运行 Python 3.7.2。我正在尝试使用此代码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

我尝试在互联网上寻找解决方案,但他们中的大多数人都在谈论 Python 2.x 上的input()应该如何成为raw_input()但我找不到任何适用于 Python 3.x 的解决方案。 任何帮助将非常感激。

编辑(从评论添加屏幕截图): 在此处输入图片说明

从你的截图来看,我认为你只是在错误地测试它。

错误的

输入print('Hello'+input())并按 Enter 键后,控制台已经在input()提示符处(在空行处),并且正在等待您的输入。 但是,您再次按下 Enter 键,因此input()收到一个空字符串并打印"Hello"+"" ,它只打印"Hello"

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

正确的方法是,在输入print('Hello'+input()) ,只需在空白行输入John ,将其传递给input()

对

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM