我有以下代码,其中我在for循环中使用break语句,方法如下:
noBreak = True
def scanShift():
i = 0
for i in range(0,29):
if s[i] < current < s[i+1]: #1st if loop
global noBreak
if i in [1,3,5,7]: #2nd if loop
noBreak = False
else: noBreak = True #line1
break
return i
如果在i = 3时匹配'1st if循环'条件,那么在转到'2nd if循环'之后,程序从'1st if循环'出来而没有到达break语句。因此我的问题是为什么它会以这种方式发生,不应该在执行'2nd if循环'后它应该转到break语句然后突破for循环?
答案 0 :(得分:0)
刚才意识到我这台计算机上当前没有安装python。
你可以尝试运行它来看看会发生什么吗?
noBreak = True
i = 0
for i in range(0,29):
if 6 < i < 8: #1st if loop
if i in [1,3,5,7]: #2nd if loop
print "here"
noBreak = False
else:
print "there"
noBreak = True #line1
print "Going to break out of loop"
break
print i
我希望输出结果如下:
>>here
>>Going to break out of loop
>>7