【问题标题】:Necessity of break in nested if statement in a for loop [duplicate]for循环中嵌套if语句中断的必要性[重复]
【发布时间】:2018-04-02 10:43:55
【问题描述】:

为什么在下面的代码中需要 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

【问题讨论】:

  • else没有绑定if,Python有一个for-else
  • else不对应if,它对应for

标签: python for-loop if-statement break


【解决方案1】:

你需要查看 Python 的官方文档:"break and continue Statements, and else Clauses on Loops",上面写着:

break 语句,就像在 C 中一样,跳出最里面的封闭 for 或 while 循环。

循环语句可能有一个 else 子句;它在循环时执行 通过用尽列表(使用 for)或当 条件变为假(使用while),但不是当循环 由 break 语句终止。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-06-09
    • 1970-01-01
    • 1970-01-01
    • 2017-12-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多