Python跳出for循环continue与break的区别

来源:网络 文章列表 2019-07-03 8
在for和while循环语句中,当循环条件满足时,就会一直循环,如果想中途退出循环,该怎么办?Python中跳出循环还是与大多数语言一样,可以使用关键字continue跳出本次循环或者break跳出整个for循环。continue和break的区别:1、break语句用来终止本次循环语句(跳出当前循环,不再执行)。2、跳出本次循环,执行下一次

forwhile循环语句中,当循环条件满足时,就会一直循环,如果想中途退出循环,该怎么办?如果想停止本次循环,而不终止整个循环,该怎么办?如果我想写个不执行任何操作的语句,该怎么写?

Python中跳出循环还是与大多数语言一样,可以使用关键字continue跳出本次循环或者break跳出整个for循环。

continue和break的区别

1、break语句用来终止本次循环语句(跳出当前循环,不再执行)。

2、跳出本次循环,执行下一次

下面我们通过一些例子来说明下continue和break的区别

 

break:跳出循环,不再执行

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

 

例1: break跳出while死循环

while True:
    print("123")
    break
    print("456")

执行结果:123

程序执行到break时,跳出了本次循环,所以 print('456')不会打印出来

 

例2: break是终止本次循环,比如你很多个for循环,你在其中一个for循环里写了一个break,满足条件,只会终止这个for里面的循环,程序会跳到上一层for循环继续往下走

for i in range(5):
    print("-----%d-----" %i)
    for j in range(5):
        if j > 4:
            break
        print(j)

执行结果:

-----0-----
0
1
2
3
4
-----1-----
0
1
2
3
4
-----2-----
0
1
2
3
4
-----3-----
0
1
2
3
4
-----4-----
0
1
2
3
4

这里遇到j>5的时候第二层的for就不循环了,继续跳到上一层循环

 

2、continue:跳出本次循环,执行下一次

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

例1:continue通过if判断触发,跳出当前一层for循环,终止'h'输出,继续下一次for

for letter in 'Python':
    if letter == 'h':
        continue #此处跳出for枚举'h'的那一次循环
    print('当前字母 :', letter)

执行结果:执行结果中没有'h'

当前字母 : P
当前字母 : y
当前字母 : t
当前字母 : o
当前字母 : n

例2:

var = 5                   
while var > 0:              
   var = var -1
   if var == 3:
      continue
   print('当前变量值 :', var)
print("Good bye!")

执行结果:

当前变量值 : 4
当前变量值 : 2
当前变量值 : 1
当前变量值 : 0
Good bye!

如果continue换成break

var = 5                   
while var > 0:              
   var = var -1
   if var == 3:
      break
   print('当前变量值 :', var)
print("Good bye!")

执行结果:

当前变量值 : 4
Good bye!

 

例3:continue是循环到这个点的时候,执行continue这里的某些操作,执行完了之后,继续执行满足条件的这一层循环需要做的事情,不会终止这一层循环(只会跳出这一次)

上面的break例子作一下修改:

for i in range(10):
    print("-----%d-----" %i)
    for j in range(10):
        if j > 5 and j <= 8:
            print("我是continue特殊")
            continue
    print(j)

执行结果:

-----0-----
我是continue特殊
我是continue特殊
我是continue特殊
9
-----1-----
我是continue特殊
我是continue特殊
我是continue特殊
9
-----2-----
我是continue特殊
我是continue特殊
我是continue特殊
9
-----3-----
我是continue特殊
我是continue特殊
我是continue特殊
9
-----4-----
我是continue特殊
我是continue特殊
我是continue特殊
9
-----5-----
我是continue特殊
我是continue特殊
我是continue特殊
9
-----6-----
我是continue特殊
我是continue特殊
我是continue特殊
9
-----7-----
我是continue特殊
我是continue特殊
我是continue特殊
9
-----8-----
我是continue特殊
我是continue特殊
我是continue特殊
9
-----9-----
我是continue特殊
我是continue特殊
我是continue特殊
9

这里的循环就会打印出j在5-8之间需要做的事情,但是不会终止第二层循环,不满足5-8之间的数字,会接着循环下面需要做的事情

 

腾讯云限量秒杀

1核2G 5M 50元/年 2核4G 8M 74元/年 4核8G 5M 818元/年 CDN流量包 100GB 9元

版权声明

本站部分原创文章,部分文章整理自网络。如有转载的文章侵犯了您的版权,请联系站长删除处理。如果您有优质文章,欢迎发稿给我们!联系站长:
愿本站的内容能为您的学习、工作带来绵薄之力。

评论

  • 随机获取
点击刷新
精彩评论

友情链接