You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python2中使用input()函数触发NameError报错的技术咨询

问题原因分析

哦,这完全是Python2和Python3里input()函数的行为差异搞的鬼!在Python2中,input()函数会把你输入的内容当作Python代码去执行,而不是简单地当作字符串接收。

你输入的seafood, dairy, nuts, chocolatecake会被Python解析成一个由几个变量名组成的元组,但这些变量(seafood、dairy之类的)根本没有被定义过,所以直接触发了NameError——Python找不到这些“变量”的定义。

解决办法

有两个可行的方案,推荐第一个:

  • 替换成raw_input()(首选):Python2里的raw_input()才是真正接收纯字符串输入的函数,它不会尝试执行输入内容,这和Python3里的input()行为一致。修改后的代码如下:
input_test = raw_input("enter somethings eaten in the last 24 hrs:")
print(input_test)

运行这个版本,不管你输入什么内容,都会被直接当作字符串保存和打印,不会再报错。

  • 临时应急方案(不推荐):如果非要用input(),那输入内容的时候记得把整个文本用引号括起来,比如输入"seafood, dairy, nuts, chocolatecake"。这样Python会把它识别成字符串字面量,而不是变量组合,但这种方式很麻烦,不如直接换raw_input()省心。

内容的提问来源于stack exchange,提问作者McKenzie Bell

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.27 04:19:16