Python基础(8)——控制循环(break、continue、else的用法详解)

一、break的用法

  • break 语句用来终止循环语句,即循环条件没有 False 条件或者序列还没被完全递归完,也会停止执行循环语句。
  • break 语句用在 while 和 for 循环中。
  • 如果您使用嵌套循环,break 语句将停止执行最深层的循环,并开始执行下一行代码。

实例:在循环中,break 语句可以提前退出循环。例如,本来要循环打印1~100的数字:

n = 1
while n <= 100:
    print(n,end=' ')
    n = n + 1
print('END')

结果如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 END

如果要提前结束循环,可以用break语句:

n = 1
while n <= 100:
    if n > 10: # 当n = 11时,条件满足,执行break语句
        break # break语句会结束当前循环
    print(n,end=' ')
    n = n + 1
print('END')

结果如下:
1 2 3 4 5 6 7 8 9 10 END

执行上面的代码可以看到,打印出1~10后,紧接着打印 END,程序结束。可见 break 的作用是提前结束循环。

二、continue的用法

  • continue 语句跳出本次循环,而 break 跳出整个循环。
  • continue 语句用来告诉 Python 跳过当前循环的剩余语句,然后继续进行下一轮循环。
  • continue 语句用在 while 和 for 循环中。

实例:在循环过程中,也可以通过 continue 语句,跳过当前的这次循环,直接开始下一次循环。

n = 0
while n < 10:
    n = n + 1
    print(n,end=' ')

结果如下:
1 2 3 4 5 6 7 8 9 10

上面的程序可以打印出1~10。但是,如果我们想只打印奇数,可以用 continue 语句跳过某些循环:

n = 0
while n < 10:
    n = n + 1
    if n % 2 == 0: # 如果n是偶数,执行continue语句
        continue # continue语句会直接继续下一轮循环,后续的print()语句不会执行
    print(n,end=' ')

结果如下:
1 3 5 7 9

执行上面的代码可以看到,打印的不再是1~10,而是1,3,5,7,9。可见 continue 的作用是提前结束本轮循环,并直接开始下一轮循环。

三、else的用法

在 Python 中,for … else 表示这样的意思,for 中的语句和普通的没有区别,else 中的语句会在循环正常执行完(即 for 不是通过 break 跳出而中断的)的情况下执行,while … else 也是一样。

for num in range(10,20):  # 迭代 10 到 20 之间的数字
   for i in range(2,num): # 根据因子迭代
      if num%i == 0:      # 确定第一个因子
         j=num/i          # 计算第二个因子
         print('%d 等于 %d * %d' % (num,i,j))
         break            # 跳出当前循环
   else:                  # 循环的 else 部分
      print(num, '是一个质数')

结果如下:
10 等于 2 * 5
11 是一个质数
12 等于 2 * 6
13 是一个质数
14 等于 2 * 7
15 等于 3 * 5
16 等于 2 * 8
17 是一个质数
18 等于 2 * 9
19 是一个质数

在 Python 中,while … else 在循环条件为 False 时执行 else 语句块:

count = 0
while count < 5:
   print(count, " is  less than 5")
   count = count + 1
else:
   print(count, " is not less than 5")

结果如下:
0  is  less than 5
1  is  less than 5
2  is  less than 5
3  is  less than 5
4  is  less than 5
5  is not less than 5

小结:

  • 循环是让计算机做重复任务的有效的方法。
  • break 语句可以在循环过程中直接退出循环,而 continue 语句可以提前结束本轮循环,并直接开始下一轮循环。这两个语句通常都必须配合 if 语句使用。
  • 要特别注意,不要滥用 break continue 语句。break continue 会造成代码执行逻辑分叉过多,容易出错。
  • 有些时候,如果代码写得有问题,会让程序陷入“死循环”,也就是永远循环下去。这时可以用 Ctrl+C 退出程序,或者强制结束 Python 进程。
  • 3
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值