Python中for循环搭配else的陷阱
假设有如下代码:
for i in range(10): if i == 5: print 'found it! i = %s' % i else: print 'not found it ...'
你期望的结果是,当找到5时打印出
found it! i = 5
实际上打印出来的结果为:
found it! i = 5 not found it ...
当迭代的对象迭代完并为空时,位于else的子句将执行,而如果在for循环中含有break时则直接终止循环,并不会执行else子句。
所以正确的写法应该为:
for i in range(10): if i == 5: print 'found it! i = %s' % i break else: print 'not found it ...'
转载于//www.cnblogs.com/nyist-xsk/p/9348140.html
还没有评论,来说两句吧...