编辑:我正在尝试根据允许的输入数组检查用户输入以执行 if 语句,如果输入'y' or 'yes' or 1
代码将运行一个简单的,我认为我使用了错误的结构。:(
我有一段非常简单的代码,旨在针对预定义数组中的多个可能条件运行用户输入:
from spiders import test
run_test_spider = 0
condition = [1, 'yes', 'Yes', 'YES', 'y', 'Y']
x=-1
def spiders():
for run_test_spider in condition:
global x
x=x+1
if run_test_spider == condition[x]:
test.main()
print 'gotcha!'
print 'running.......'
print run_test_spider
print 'hello'
print 'hello would you like to run a test spider?'
print '1,yes,y = Yes I do!!!'
print '0,no,n = Nope!'
run_test_spider = raw_input(': ')
spiders()
我在 Eclipse 中运行了调试器(pydev),一旦我输入字符串n
以获得失败的条件检查,调试器会告诉我输入自动变为1
,这导致代码始终执行蜘蛛
有谁知道为什么我的输入都变成了1
?
当我输入输入时,这个1
业务就是 eclipse 在其变量字段中显示的内容(一旦我将调试器步进到该点)
控制台也吐出这个:当我在调试期间输入输入时:
Traceback (most recent call last):
File "C:\Program Files\eclipse\plugins\org.python.pydev.debug_2.5.0.2012040618\pysrc\pydevd_comm.py", line 755, in doIt
result = pydevd_vars.evaluateExpression(self.thread_id, self.frame_id, self.expression, self.doExec)
File "C:\Program Files\eclipse\plugins\org.python.pydev.debug_2.5.0.2012040618\pysrc\pydevd_vars.py", line 384, in evaluateExpression
result = eval(compiled, updated_globals, frame.f_locals)
File "<string>", line 1, in <module>
NameError: name 'n' is not defined