对于以下程序,我知道它们无效但我问的是代码的逻辑。我不是要运行这段代码,只是为了知道它将打印的输出,以及继续/中断的功能。感谢您对此的反馈/评论/关注。
for x in [1, 1, 2, 3, 5, 8, 13]:
if 1 < x < 13:
continue
else:
print x
输出不应该是:2,3,5,8,因为它们在1&lt; X&LT; 13范围?继续在这段代码中做了什么?它会改变结果吗?
found = False
for n in xrange(40,50):
if (n / 45) > 1:
found = True
break
print found
我认为它会打印46,47,48,49,50。但是代码中断了,是否只是暂停了这个过程?
答案 0 :(得分:0)
continue
导致程序跳到循环的下一次迭代。因此,第一个块将打印1113,因为这些是唯一不满足if
条件的元素。
break
终止循环,所以第二个片段的循环看起来好像应该在46处终止。但是,由于python中的整数除法仅保留整个部分,因此该循环将继续不间断直到范围结束。