假設有以下代碼:ui
for i in range(10): if i == 5: print 'found it! i = %s' % i else: print 'not found it ...'
你指望的結果是,當找到5時打印出:spa
found it! i = 5
實際上打印出來的結果爲:code
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 ...'