QQ登录

只需一步,快速开始

开启左侧

Python学习第十一天—循环语句continue和break

[复制链接]
15271953841 发表于 2024-2-4 10:24:21 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
本帖最后由 15271953841 于 2024-2-4 10:31 编辑

Python 3.12.1 (tags/v3.12.1:2305ca5, Dec  7 2023, 22:03:25) [MSC v.1937 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license()" for more information.
i=0
while i<10:
    i += 1
    if i%2 == 0:
        continue
    print(i)

   
1
3
5
7
9
Continue语句跳出本次循环,回到循环体的开头;break语句则是跳出循环体,执行完后面的语句。
再看else语句,当条件不再为True时,就开始执行else语句。
以下在编辑模式编辑程序,在交互模式下查看结果:

i=1
while i<5:
    print("循环内,i的值是",i)
    i+=1
else:
    print("循环外,i的值是",i)

   
循环内,i的值是 1
循环内,i的值是 2
循环内,i的值是 3
循环内,i的值是 4
循环外,i的值是 5

当循环条件不再为真的时,else语句才会被执行。

i = 1
while i < 5:
    print("循环内,i的值是",i)
    i += 1

print("循环外,i的值是",i)

循环内,i的值是 1
循环内,i的值是 2
循环内,i的值是 3
循环内,i的值是 4
循环外,i的值是 5

使用break语句跳出循环,是中途跳出的,这时循环条件依旧为真的,所以用break语句跳出来,else语句并不会被执行。例如:
i=1
while i<5:
    print("循环内,i的值是",i)
    if i == 2:
        break
    i += 1
else:
    print("循环外,i的值是",i)

   
循环内,i的值是 1
循环内,i的值是 2



那么,请大家考虑,while,else这样的设计有什么实质上的作用呢?
其实最显而易见的作用是,可以非常容易的检测到循环退出的状况
。比如每周7天打卡的小程序:
day = 1
while day <= 7:
    answer = input("今天有好好学习吗?")
    if answer != "有":
        break
    day += 1
else:
print("非常棒,你已经坚持了7天继续学习!")

今天有好好学习吗?有
今天有好好学习吗?有
今天有好好学习吗?有
今天有好好学习吗?有
今天有好好学习吗?有
今天有好好学习吗?有
今天有好好学习吗?有
非常棒,你已经坚持了7天继续学习!

再run执行一遍
今天有好好学习吗?有
今天有好好学习吗?有
今天有好好学习吗?有吧

再看循环结构的嵌套(nested loop),循环也可玩嵌套,而且玩的更溜,有时我们的需求可能要用不止一层循环来实现,比如要打印一个九九乘法表:
i=1
while i<=9:
    j=1
    while j<=i:
        print(j,"*",i,"=",j*i,end="  ")
        j += 1
    print()
    i += 1

   
1 * 1 = 1  
1 * 2 = 2  2 * 2 = 4  
1 * 3 = 3  2 * 3 = 6  3 * 3 = 9  
1 * 4 = 4  2 * 4 = 8  3 * 4 = 12  4 * 4 = 16  
1 * 5 = 5  2 * 5 = 10  3 * 5 = 15  4 * 5 = 20  5 * 5 = 25  
1 * 6 = 6  2 * 6 = 12  3 * 6 = 18  4 * 6 = 24  5 * 6 = 30  6 * 6 = 36  
1 * 7 = 7  2 * 7 = 14  3 * 7 = 21  4 * 7 = 28  5 * 7 = 35  6 * 7 = 42  7 * 7 = 49  
1 * 8 = 8  2 * 8 = 16  3 * 8 = 24  4 * 8 = 32  5 * 8 = 40  6 * 8 = 48  7 * 8 = 56  8 * 8 = 64  
1 * 9 = 9  2 * 9 = 18  3 * 9 = 27  4 * 9 = 36  5 * 9 = 45  6 * 9 = 54  7 * 9 = 63  8 * 9 = 72  9 * 9 = 81  
提示:显示时,如果一行不够长,要将互动模式窗口拉长一点。

无论是break语句,还是continue语句,它们都只能作用于一层循环体。

day = 1
hour = 1
while day <= 7:
    while hour <= 8:
        print("今天,我一定要坚持学习8个小时!")
        hour += 1
        if hour >1:
            break
day += 1

今天,我一定要坚持学习8个小时!
今天,我一定要坚持学习8个小时!
今天,我一定要坚持学习8个小时!
今天,我一定要坚持学习8个小时!
今天,我一定要坚持学习8个小时!
今天,我一定要坚持学习8个小时!
今天,我一定要坚持学习8个小时!

continue语句与break语句的区别

continue语句与break语句的区别
客服热线
400-1234-888 周一至周日:09:00 - 21:00
公司地址:襄阳市樊城区长虹路现代城5号楼188

创客帮MAKER.BAND青少年创客创意社区是一个融教育、科技、体育资讯为一体的综合服务平台,专注于教育创新、专注于科技体育、专注于教育资讯。

Powered by Discuz! X3.4 © 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表