设为首页收藏本站

Crossin的编程教室

 找回密码
 立即加入
查看: 22766|回复: 13
打印 上一主题 下一主题

【Python 第35课】 continue

[复制链接]

10

主题

0

好友

52

积分

注册会员

Rank: 2

跳转到指定楼层
楼主
发表于 2013-7-25 19:26:37 |只看该作者 |正序浏览
break是彻底地跳出循环,而continue只是略过本次循环的余下内容,直接进入下一次循环。


在我们前面写的那个统计分数的程序里,如果发现有成绩不足60分,就不记入总成绩。当然,你可以用if判断来实现这个效果。但我们今天要说另一种方法:continue。
  1. for score in data[1:]:
  2.    point = int(score)
  3.    if point < 60:
  4.        continue
  5.    sum += point
复制代码
注意:无论是continue还是break,其改变的仅仅是当前所处的最内层循环的运行,如果外层还有循环,并不会因此略过或跳出。

在脑中模拟运行下面这段程序,想想会输出什么结果。再敲到代码里验证一下:
  1. i = 0
  2. while i < 5:
  3.    i += 1
  4.    for j in range(3):
  5.        print j
  6.        if j == 2:
  7.            break
  8.    for k in range(3):
  9.        if k == 2:
  10.            continue
  11.        print k
  12.    if i > 3:
  13.        break
  14.     print i
复制代码
#==== Crossin的编程教室 ====#
微信ID:crossincode
QQ群:312723402

面向零基础初学者的编程课
每天5分钟,轻松学编程




回复

使用道具 举报

0

主题

0

好友

14

积分

新手上路

Rank: 1

14#
发表于 2018-7-3 09:53:19 |只看该作者
jzhan030 发表于 2018-4-16 17:48
i = 0
while i < 5:
    i +=1

这个很明了啊
回复

使用道具 举报

1

主题

0

好友

17

积分

新手上路

Rank: 1

13#
发表于 2018-4-16 17:48:09 |只看该作者
i = 0
while i < 5:
    i +=1
    for j in range(3):
        print("j=",j)
        if j == 2:
            break
    for k in range(3):
        if k == 2:
            continue
        print("k=",k)
    if i > 3:
        break
    print('i=',i)

这样会清楚一些。
回复

使用道具 举报

0

主题

2

好友

72

积分

注册会员

Rank: 2

12#
发表于 2018-4-10 19:10:21 |只看该作者
  1. i=0
  2. while i<5:
  3.     i+=1
  4.     for j in range(3):
  5.         print(j)
  6.         if j==2:
  7.             break
  8.     for k in range(3):
  9.         if k==2:
  10.             continue
  11.         print(k)
  12.     if i>3:
  13.         break #此时无小内循环for,故直接跳出大循环
  14.     print(i)

复制代码
回复

使用道具 举报

0

主题

0

好友

20

积分

新手上路

Rank: 1

11#
发表于 2016-8-5 10:41:21 |只看该作者
i = 0
while i < 5:
   i += 1
   for j in range(3):
       print (j,j)
       if j == 2:
           break
   for k in range(3):
       if k == 2:
           continue
       print(k,k,k,k)
   if i > 3:
       break
   print (i,i,i)

这样就清楚多了
ps Python 3
回复

使用道具 举报

0

主题

0

好友

121

积分

注册会员

Rank: 2

10#
发表于 2016-5-6 11:12:47 |只看该作者
crossin先生 发表于 2015-4-14 13:10
遇到break就跳出当前一层循环,遇到continue就直接进入当前一层循环的下一次

你可以在程序中的各个循环 ...

遇到break就跳出当前一层循环,遇到continue就直接进入当前一层循环的下一次
这句话一下子让我明白了
回复

使用道具 举报

0

主题

0

好友

54

积分

注册会员

Rank: 2

9#
发表于 2015-5-28 01:37:58 |只看该作者
  1. #0
  2. #1
  3. #2
  4. #0
  5. #1
  6. #1
  7. #0
  8. #1
  9. #2
  10. #0
  11. #1
  12. #2
  13. #0
  14. #1
  15. #2
  16. #0
  17. #1
  18. #3
  19. #0
  20. #1
  21. #2
  22. #0
  23. #1
  24. i = 0
  25. while i < 5:
  26.    i += 1
  27.    for j in range(3):
  28.        print j #0\n1\n2
  29.        if j == 2:
  30.            break
  31.    for k in range(3):
  32.        if k == 2:
  33.            continue
  34.        print k
  35.    if i > 3:
  36.        break
  37.    print i
复制代码
回复

使用道具 举报

0

主题

0

好友

215

积分

中级会员

Rank: 3Rank: 3

8#
发表于 2015-4-27 08:33:35 |只看该作者
周一了 滚回来学习
回复

使用道具 举报

0

主题

0

好友

39

积分

新手上路

Rank: 1

7#
发表于 2015-4-23 15:56:07 |只看该作者
在后面那个程序里面把continue改成break运行的结果是一样的呀
回复

使用道具 举报

0

主题

0

好友

47

积分

新手上路

Rank: 1

6#
发表于 2015-4-14 13:57:05 |只看该作者
crossin先生 发表于 2015-4-14 13:10
遇到break就跳出当前一层循环,遇到continue就直接进入当前一层循环的下一次

你可以在程序中的各个循环 ...

昨晚后来自己想明白了,多谢。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即加入

QQ|手机版|Archiver|Crossin的编程教室 ( 苏ICP备15063769号  

GMT+8, 2024-11-23 06:07 , Processed in 0.017064 second(s), 21 queries .

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

回顶部