在for循环中嵌套if语句的必要性

时间:2017-10-21 12:02:37

标签: python for-loop if-statement break

为什么以下代码中需要中断才能跳过else语句的处理? 为什么if评估单独退出程序,而不继续处理else语句? 是因为if嵌套在for循环中吗? 如果是这样,为什么呢?我无法弄清楚为什么会这样运作。

代码:

for number in range(1,10):
   if number == 5:
       print "I counted to %s" % number
else:
   print "I counted from 1 to 10"

输出:

  

我数到5我从1到10计算

代码:

for number in range(1,10):
   if number == 5:
       print "I counted to %s" % number
       break
else:
   print "I counted from 1 to 10"

输出:

  

我数到5

1 个答案:

答案 0 :(得分:0)

您需要查看Python的官方文档:"break and continue Statements, and else Clauses on Loops",其中包含:

  

break语句就像在C中一样,突破了最内层的封闭   for或while循环。

     

循环语句可能有一个else子句;它在循环时执行   通过列表的耗尽(with for)或者当   condition变为false(with while),但不是循环时   以休息声明终止。