zoukankan      html  css  js  c++  java
  • 19.break和continue

    1. break

    <1> for循环

    普通的循环示例如下:

    name = 'itheima'
    
    for x in name:
        print('----')
        print(x)
    else:
        print("==for循环过程中,如果没有执行break退出,则执行本语句==")

    运行结果:

    ----
    i
    ----
    t
    ----
    h
    ----
    e
    ----
    i
    ----
    m
    ----
    a
    ==for循环过程中,如果没有break则执行==

    带有break的循环示例如下:

    name = 'itheima'
    
    for x in name:
        print('----')
        if x == 'e': 
            break
        print(x)
    else:
        print("==for循环过程中,如果没有执行break退出,则执行本语句==")

    运行结果:

    ----
    i
    ----
    t
    ----
    h
    ----

    <2> while循环

    普通的循环示例如下:

    i = 0
    
    while i<5:
        i = i+1
        print('----')
        print(i)
    else:
        print("==while循环过程中,如果没有执行break退出,则执行本语句==")

    运行结果:

    ----
    1
    ----
    2
    ----
    3
    ----
    4
    ----
    5
    ==while循环过程中,如果没有break则执行==

    带有break的循环示例如下:

    i = 0
    
    while i<5:
        i = i+1
        print('----')
        if i==3:
            break
        print(i)
    else:
        print("==while循环过程中,如果没有执行break退出,则执行本语句==")

    运行结果:

    ----
    1
    ----
    2
    ----

    小结:

    • break的作用:立刻结束break所在的循环

    2. continue

    <1> for循环

    带有continue的循环示例如下:

    name = 'itheima'
    
    for x in name:
        print('----')
        if x == 'e': 
            continue
        print(x)
    else:
        print("==while循环过程中,如果没有break则执行==")

    运行结果:

    ----
    i
    ----
    t
    ----
    h
    ----
    ----
    i
    ----
    m
    ----
    a
    ==while循环过程中,如果没有break则执行==

    <2> while循环

    • 带有continue的循环示例如下:
    i = 0
    
    while i<5:
        i = i+1
        print('----')
        if i==3:
            continue
        print(i)

    运行结果:

    ----
    1
    ----
    2
    ----
    ----
    4
    ----
    5

    小结:

    • continue的作用:用来结束本次循环,紧接着执行下一次的循环

    3. 注意点

    • break/continue只能用在循环中,除此以外不能单独使用

    • break/continue在嵌套循环中,只对最近的一层循环起作用

    break和continue 这两个关键字只能出现在循环之中

    例子1:

    # break和continue 这两个关键字只能出现在循环之中
    
    # break
    
    # break-while
    # 如果在循环中执行了break 那么循环将被终止(例如应该执行1000次 但是在第500次的时候执行了break
    # 后面的循环, 将不再执行)
    i = 1
    while i <= 5:
        print(i)
        # 判断 如果i == 3 执行 break
        if i == 3:
            print("break")
            break
            print("break后")
        i += 1
    print("测试")

    运行结果:

    1
    2
    3
    break
    测试

    例子2:

    # break-for
    # 最后的结论和break-while是一样的
    for i in range(1, 6):
        print(i)
        # 判断
        if i == 3:
            print("break")
            break
            print("break后")
    print("测试")

    运行结果:

    1
    2
    3
    break
    测试

    例子3:

    # continue
    # continue-while
    # 如果在循环中执行了continue 那么将会提前结束本次循环
    i = 1
    while i < 6:
        i += 1
    
        # 如果i == 4 continue
        if i == 4:
            print("continue")
            continue
            print("continue后")
        print(i)
    print("测试")

    运行结果:

    2
    3
    continue
    5
    6
    测试

    例子4;

    # continue-for
    # 结论和while-for是一样的
    for i in range(2, 7):
        if i == 4:
            print("continue")
            continue
            print("continue")
        print(i)
    print("测试")

    运行结果:

    2
    3
    continue
    5
    6
    测试
    # 无论是break 还是 continue 只要被执行了 其后面的代码将都不会被执行,只不过break影响的是全局,continue影响的是局部
    
    # 是否只要在循环中出现了break 就会终止循环--> 否 只有break执行了才会终止循环
    for i in range(5):
        if i == 10:
            break

     练习:

    """
    编写代码模拟用户登陆。
    要求:用户名为 python,密码 123456,
    如果输入正确,打印“欢迎光临”,程序结束,
    如果输入错误,提示用户输入错误并重新输入
    """
    
    # 死循环
    while True:
        # 引导用户输入用户名和密码
        user_name = input("请输入您的用户名:")
        pass_wd = input("请输入您的密码:")
        # 假如输入正确
        if user_name == "python" and pass_wd == "123456":
            print("欢迎光临!!!")
            break
        else:
            print("您输入的用户名或者密码错误, 请重新输入!!!")
            continue
        print("只有退出后才必须执行")
    
    print("程序结束!!!")

    循环和else:

    # 循环 -> while 和 for
    
    # 循环配合else使用
    # 默认情况下, 待循环结束后 else监听到 就会执行else中的代码
    # 如果循环中执行了break 那么else中的代码 将不再会被执行
    # 定义一个循环
    for i in range(1, 6):
        print(i)
        if i == 3:
            break
    else:
        print("else")

    运行结果:

    1
    2
    3
    # while循环
    i = 1
    while i < 6:
        print(i)
        if i == 3:
            break
        i += 1
    else:
        print("else")

    练习:

    # 100-200(包括100和200)里面所有的素数
    # 提示:素数的特征是除了1和其本身能被整除,其它数都不能被整除的数
    
    # 如果执行了break和continue 只是对其最近的一层有影响 其他的正常运行
    # for i in range(1, 6):
    #     for j in range(1, 11):
    #         print("%d内部" % j)
    #         if j == 2:
    #             break
    #     print("%d外部" % i)
    
    # 定义两个变量
    # 起始变量
    a = 100
    # 结束变量
    b = 200
    
    for i in range(a, b + 1):
        # 构造的是不是1 或者本身范围的数字
        for j in range(2, i):
            # 判断
            if i % j == 0:
                break
        else:
            print("%d是一个素数" % i)
  • 相关阅读:
    DS博客作业02--线性表
    DS博客作业01--日期抽象数据类型设计与实现
    C语言博客作业06--结构体&文件
    C语言博客作业05--指针
    C语言博客作业04--数组
    DS博客作业08--课程总结
    DS博客作业07--查找
    06--图
    博客作业05--树
    DS博客作业01--日期抽象数据类型设计与实现
  • 原文地址:https://www.cnblogs.com/kangwenju/p/12685263.html
Copyright © 2011-2022 走看看