向input()提示符提供变量名时出现“NameError”

时间:2014-02-12 06:13:24

标签: exception python-3.x input nameerror

我有这么简单的代码,我无法提出任何建议吗?

a = 2
b = 4
c = input()
d = 0
d = c + 5
print(d)

说我输入a,所以2,我应该7。但我没有。这篇Python 3.在这里使用Wing IDE 101(第5版)。我把它作为我的错误输出。

追踪(最近一次通话):   文件“”,第1行,in builtins.NameError:名称'a'未定义

2 个答案:

答案 0 :(得分:0)

您确定使用的是Python 3吗?在python 2.x中,您可以通过使用eval()函数明确地评估字符串表达式来完成它:

 c = eval(raw_input()) # Python 2.7
 c = eval(input()) # Python 3.x

在Python 3.x中input()将转换字符串中的输入,不会引发该错误(NameError)。它会引发TypeError,因为您无法以这种方式连接strint

答案 1 :(得分:0)

你可以试试c = raw_input()