Python中for循环搭配else的陷阱

淡淡的烟草味﹌ 2021-09-29 11:18 441阅读 0赞

假设有如下代码:

  1. for i in range(10): if i == 5: print 'found it! i = %s' % i else: print 'not found it ...'

你期望的结果是,当找到5时打印出

  1. found it! i = 5

实际上打印出来的结果为:

  1. found it! i = 5 not found it ...

当迭代的对象迭代完并为空时,位于else的子句将执行,而如果在for循环中含有break时则直接终止循环,并不会执行else子句。
所以正确的写法应该为:

  1. for i in range(10): if i == 5: print 'found it! i = %s' % i break else: print 'not found it ...'

转载于:https://www.cnblogs.com/nyist-xsk/p/9348140.html

发表评论

表情:
评论列表 (有 0 条评论,441人围观)

还没有评论,来说两句吧...

相关阅读