美文网首页
005-循环语句

005-循环语句

作者: 小D修行笔记 | 来源:发表于2022-07-25 06:31 被阅读0次

    \color{red}{while循环、break、continue、while循环嵌套、for循环、循环中的else}

    循环的作用

    • 让代码更高效的重复执行

    循环的分类

    • 在Python中,循环分为 while 和 for 两种,最终实现效果相同

    while循环

    while 条件:
      条件成立重复执行的代码1
      条件成立重复执行的代码2
      ……

    循环的应用:求累加和

    # 求1~100的和
    num = 1
    sum = 0
    while num <= 100:
        sum += num  # 累加和
        num += 1  # 计数器加1
    print(sum)
    

    输出结果

    5050
    
    • 循环计数器一般从0开始

    # 求1~100中偶数的累加和
    num = 1
    sum = 0
    while num <= 100:
        if num % 2 == 0:
            sum += num
        num += 1
    print(sum)
    

    输出结果

    2550
    

    循环注意

    • 循环应该有结束条件,不然是死循环

    break 和 continue

    • break 和 continue 是循环中满足一定条件退出循环的两种不同方式。

    break

    • 终止此循环
    i = 1
    while i <= 5:
        if i == 4:
            print(f'今天是星期{i},从今以后不再做作业了')
            break  # 第四天,没有做作业,后面也放弃了
        print(f"今天是星期{i},作业做完了")
        i += 1
    

    输出结果

    今天是星期1,作业做完了
    今天是星期2,作业做完了
    今天是星期3,作业做完了
    今天是星期4,从今以后不再做作业了
    

    continue

    • 退出当前一次循环继而执行下一次循环代码
    i = 1
    while i <= 5:
        if i == 4:
            print(f'今天是星期{i},休息一天,明天继续写作业')
            i += 1
            continue
        print(f'今天是星期{i},作业做完了')
        i += 1
    

    输出结果

    今天是星期1,作业做完了
    今天是星期2,作业做完了
    今天是星期3,作业做完了
    今天是星期4,休息一天,明天继续写作业
    今天是星期5,作业做完了
    

    • 使用 continue ,需要注意循环条件增量,修改计数器,不然容易造成死循环

    while 循环嵌套

    while 条件1:
      条件1成立执行的代码
      ……
      while 条件2:
        条件2成立执行的代码
        ……
      条件1成立执行的代码
      ……

    • 所谓while循环嵌套,就是一个while里面嵌套另一个while的写法,每个while和之前的基础语法是相同的
    i = 1
    while i <= 9:
        j = 1
        while j <= i:
            print(f'{j} * {i} = {i * j}',end='\t')
            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
    

    for 循环

    for 临时变量 in 序列:
      重复执行的代码1
      重复执行的代码2
      ……

    str1 = 'hello'
    for temp in str1:
        print(temp)
    

    输出结果

    h
    e
    l
    l
    o
    

    break终止for循环

    str1 = 'hello'
    for temp in str1:
        if temp == 'l':
            break
        print(temp)
    

    输出结果

    h
    e
    

    continue结束一次for循环

    str1 = 'hello'
    for temp in str1:
        if temp == 'l':
            continue
        print(temp)
    

    输出结果

    h
    e
    o
    

    循环中的else

    • 当循环正常结束之后要执行的代码
    • 使用continue结束一次循环,else中的代码正常执行
    • 使用break结束循环,else中的代码不执行

    while……else

    while 条件:
      条件成立重复执行的代码
    else:
      循环正常结束之后要执行的代码

    循环正常结束,执行else中的代码
    i = 0
    while i < 5:
        print('吃了一个苹果')
        i += 1
    else:
        print('吃饱了')
    

    输出结果

    吃了一个苹果
    吃了一个苹果
    吃了一个苹果
    吃了一个苹果
    吃了一个苹果
    吃饱了
    
    使用continue结束一次循环,else中的代码正常执行
    i = 0
    while i < 5:
        if i == 3:
            print("遇到一个虫子,这个不吃了,继续吃下一个苹果")
            i += 1
            continue
        print('吃了一个苹果')
        i += 1
    else:
        print('吃饱了')
    

    输出结果

    吃了一个苹果
    吃了一个苹果
    吃了一个苹果
    遇到一个虫子,这个不吃了,继续吃下一个苹果
    吃了一个苹果
    吃饱了
    
    使用break结束循环,else中的代码不执行
    i = 0
    while i < 5:
        if i == 3:
            print("遇到半个虫子,心里堵得慌,不吃了")
            break
        print('吃了一个苹果')
        i += 1
    else:
        print('吃饱了')
    

    输出结果

    吃了一个苹果
    吃了一个苹果
    吃了一个苹果
    遇到半个虫子,心里堵得慌,不吃了
    

    for……else

    for 临时变量 in 序列:
      重复执行的代码
    else:
      循环正常结束执行的代码

    循环正常结束,执行else的代码
    str1 = 'hello'
    for temp in str1:
        print(temp)
    else:
        print('循环正常结束')
    

    输出结果

    h
    e
    l
    l
    o
    循环正常结束
    
    使用continue结束一次循环,else中的代码正常执行
    str1 = 'hello'
    for temp in str1:
        if temp == 'l':
            continue
        print(temp)
    else:
        print('循环正常结束')
    

    输出结果

    h
    e
    o
    循环正常结束
    
    使用break结束循环,else中的代码不执行
    str1 = 'hello'
    for temp in str1:
        if temp == 'l':
            break
        print(temp)
    else:
        print('循环正常结束')
    

    输出结果

    h
    e
    

    相关文章

      网友评论

          本文标题:005-循环语句

          本文链接:https://www.haomeiwen.com/subject/owxgirtx.html