Python的input()函数导致NameError错误

17
input_var = input ("Press 'E' and 'Enter' to Exit: ")

NameError: name 'e' is not defined

我正在使用Python 2.5。我该如何解决这个错误?


1
@ShinTakezou:如果这对你没问题,那么你不是在使用Python 2.5。 - Wooble
@Wooble 使用 Python 2.5 r25:51908(但使用2.7也是一样的),并猜测:它可以正常工作。实际上,问题不在于代码本身(而是提供的输入和错误使用“input”)...对于这个问题有一个粗鲁的回答,就是RTFM,我已经避免了这种情况,但我能否礼貌地表达疑虑,以便人们可以认为他们需要更深入地检查问题,以了解正在发生什么,同时等待实际的帮助?我这样做了,或者我认为是这样。很可能失败了。启发别人是如此困难的事情。 - ShinTakezou
1
整个问题在于Python 2中的input()函数。如果您在提示符处键入e,则出现错误,因此它并不“正常工作”。 - Wooble
2
如果每个人都愿意阅读手册并能够确定需要阅读哪些部分,Stack Overflow的90%问题将会消失。 ;) - poolie
1个回答

48

input读取和评估Python表达式。 当它试图进行评估时,它会寻找一个未定义的变量e并失败。

你几乎总是想使用raw_input代替。 (而在Python3中,input有这种行为.)

或者,更好地,在Unix上使用readline,以便用户可以编辑他们的输入。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接