【发布时间】:2014-02-13 08:11:09
【问题描述】:
我有以下代码,其中我以下列方式在 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 loop' 条件,则在进入 '2nd if loop' 之后程序会退出 '1st if loop' 而不会到达 break 语句。因此我的问题是为什么它会以这种方式发生,在执行“第二个 if 循环”之后不应该进入 break 语句然后跳出 for 循环吗?
【问题讨论】:
-
您可以尝试将 else 正文块放在新的缩进行上吗?你能告诉我可变电流是从哪里来的吗?我想在我的系统上试试这个并给你答案。
-
's' 是一个由按升序排列的日期时间组成的数组,而 current 是当前日期时间,即 datetime.datetime.now()。
标签: python-2.7 for-loop break