跳转语句用于改变程序执行顺序,跳转语句包括 break、continue 和 return。break 和 continue 用于循环体,而 return 用于函数。

break

用于强制退出循环体,不再执行循环体中剩余的语句。

  1. i = 0
  2. while i <= 5:
  3. if i == 3:
  4. break
  5. print(i)
  6. i += 1
  7. print('循环结束')
  8. ---------------------------------------------------------------------------------
  9. >>> 0
  10. >>> 1
  11. >>> 2 # 满足 i == 3,执行了 break ,循环体结束
  12. >>> 循环结束 # 循环体外的不受影响

while…else 与 break

  1. while 条件 :
  2. 条件 1 成立执行的代码
  3. break
  4. else:
  5. 条件 2 成立执行的代码
  1. i = 1
  2. while i <= 5:
  3. if i == 3:
  4. break
  5. print(i)
  6. i += 1 # 使用计数器防止死循环
  7. else:
  8. print('结束')
  9. --------------------------------------------------------------------
  10. >>> 1
  11. >>> 2
  12. # 包括 else 后面代码也不执行

else 指的是循环正常结束之后要执⾏的代码,即如果是 break 终止循环的情况,else 下⽅缩进的代码将不执⾏

continue

用于跳出当前循环继而执行下次循环,但是要在 continue 前修改计数器 进行循环否则进入死循环

  1. i = 1
  2. while i <= 5:
  3. if i == 3: # 当满足 i = 3,continue 终止本次循环
  4. i += 1 # 计数器要放在 continue 之前,防止死循环
  5. continue
  6. print(i)
  7. i += 1
  8. ---------------------------------------------------------------
  9. >>> 1
  10. >>> 2
  11. >>> 4 # 接着进行下次循环,注意结果中没有 3
  12. >>> 5


while…else 与 continue

  1. while 条件 1:
  2. 条件 1 成立执行的代码
  3. continue
  4. else:
  5. 条件 2 成立执行的代码
  1. i = 1
  2. while i <= 5:
  3. if i == 3:
  4. i += 1
  5. continue
  6. print(i)
  7. i += 1
  8. else:
  9. print(f'这一步执行')
  10. --------------------------------------------------------------
  11. >>> 1
  12. >>> 2
  13. >>> 4
  14. >>> 5
  15. >>> 这一步执行

continue 是退出当前一次循环,继续下一次循环,所以该循环在 continue 控制下是可以正常结束的,当循环结束后,则执行了 else 缩进的代码

for…in…else

  1. for 临时变量量 in 序列列:
  2. 重复执⾏行行的代码
  3. ...
  4. else:
  5. 循环正常结束之后要执⾏行行的代码

else 后的语句会执行。但是与 while 一样,遇到 break 后面都不执行,遇到 continue 后面继续执行

总结

  • else 的应用
    • while 和 for 都可以配合 else 使⽤
    • else 下⽅缩进的代码含义: 当循环正常结束后执⾏的代码
    • break 终⽌循环,不会执⾏后面代码,包括不执行 else 下方缩进的代码
    • continue 退出当次循环,会执⾏后面代码,包括执行 else 下⽅缩进的代码