输入的基本python条件检查,始终设置为输入1
编辑: 我试图根据允许的输入数组检查用户输入,以获得要执行的if语句,如果输入输入的基本python条件检查,始终设置为输入1,python,eclipse,pydev,Python,Eclipse,Pydev,编辑: 我试图根据允许的输入数组检查用户输入,以获得要执行的if语句,如果输入'y'或'yes'或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
'y'或'yes'或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
,这会导致代码始终执行spider
有人知道为什么我的输入都变成了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
回溯(最近一次呼叫最后一次):
文件“C:\Program Files\eclipse\plugins\org.python.pydev.debug_2.5.0.2012040618\pysrc\pydevd_comm.py”,第755行,在doIt中
结果=pydevd_vars.evaluateExpression(self.thread_id、self.frame_id、self.expression、self.doExec)
evaluateExpression中的文件“C:\Program Files\eclipse\plugins\org.python.pydev.debug_2.5.0.2012040618\pysrc\pydevd_vars.py”,第384行
结果=eval(编译、更新的\u全局、frame.f\u局部)
文件“”,第1行,在
NameError:未定义名称“n”
意味着run_test_spider将在每个元素处于状态时初始化。
因此,您实际上要检查条件
的每一项是否都在其中
编辑:这是您的支票:
condition = [1, 'yes' 'y']
def spiders():
if run_test_spider.lower() in condition:
test.main()
print 'gotcha!'
意味着run_test_spider将在每个元素处于状态时初始化。
因此,您实际上要检查条件
的每一项是否都在其中
编辑:这是您的支票:
condition = [1, 'yes' 'y']
def spiders():
if run_test_spider.lower() in condition:
test.main()
print 'gotcha!'
if a in b:
1
设置为字符串:'1'
def spider(run_test_spider):
if run_test_spider in conditions:
# do something
else:
# do something else
run_test_spider = raw_input(':')
spider(run_test_spider)
if a in b:
1
设置为字符串:'1'
def spider(run_test_spider):
if run_test_spider in conditions:
# do something
else:
# do something else
run_test_spider = raw_input(':')
spider(run_test_spider)
因此,您正在检查
条件
的每一项是否都处于条件
?Opps,一些代码的切块,调试器视图有点小:)您实际上从未使用输入值..我正在尝试检查,如果用户输入y、yes或1,则if语句中的代码将执行,或者至少是我正在尝试的do@Tisho真正地那太尴尬了。我是否误用了for循环?因此您正在检查条件
的每一项是否都在条件
中?Opps,一些代码的切块,调试器视图有点小:)您实际上从未使用过输入值..我试图检查,如果用户输入y、yes或1,则if语句中的代码将执行,或者至少这就是我想说的do@Tisho,真的,那太尴尬了。我是否误用了for循环?run_test_spider只是一个输入变量,它需要一个字符串。项目是什么变量?我的变量x?伙计,非常感谢<代码>如果运行测试蜘蛛在条件:正是我所需要的。它工作得很好。我在condition
中制作了1
字符串,一切都很好。干杯伙伴:)run_test_spider只是一个输入变量,它需要一个字符串。项目是什么变量?我的变量x?伙计,非常感谢<代码>如果运行测试蜘蛛在条件:正是我所需要的。它工作得很好。我在condition
中制作了1
字符串,一切都很好。干杯,伙计:)