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

Python 2中使用input()获取字符串输入触发NameError问题求助

问题分析与解决办法

嘿,别担心,新手刚接触Python和社区时遇到问题太正常啦!我来帮你拆解一下这个错误~

问题根源

你现在用的是Python 2,这个版本里的input()函数会把用户输入的内容直接当作Python代码去执行。当你输入cheese作为食物名称时,它会试图寻找一个名为cheese的变量,但你根本没定义过这个变量,所以就抛出了NameError: name 'cheese' is not defined的错误。

两种解决办法

1. 继续使用Python 2的话,替换input()为raw_input()

Python 2里的raw_input()才是专门用来获取用户输入的字符串内容的,它不会把输入当成代码解析。修正后的代码如下:

foodname = raw_input('please enter food name.')  # 获取食物名称字符串
foodcost = raw_input('please enter food cost.')  # 获取食物成本字符串
print foodname, foodcost  # 打印两个输入内容

2. 切换到Python 3(推荐)

Python 3已经把input()的行为改成了Python 2中raw_input()的样子,直接获取字符串。不过要注意Python 3里print是函数,需要加括号:

foodname = input('please enter food name.')
foodcost = input('please enter food cost.')
print(foodname, foodcost)

这样修改后,你输入任何食物名称(比如cheese)都不会再报错啦!

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.27 06:44:59