码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • Python循环语句实战练习和循环嵌套详解


    文章目录

    • 循环语句
      • while循环
      • 实战练习
        • 练习1:求100以内所有的奇数之和
        • 练习2:求100以内所有7的倍数之和,以及个数
        • 练习3:求1000以内所有的水仙花数
        • 练习4:获取用户输入的任意数,判断其是否是质数
      • 循环嵌套
        • 练习1:打印99乘法表
        • 练习2:求100以内所有的质数
      • 小游戏《唐僧大战白骨精》
    • 总结
      • while循环
    • python 学习专栏推荐
      • python基础知识(0基础入门)

    循环语句

    循环语句可以使指定的代码块重复执行指定的次数。在Python中,常见的循环语句有while循环和for循环。

    while循环

    while循环的基本语法如下:

    while 条件表达式:
        代码块
    else:
        代码块
    
    • 1
    • 2
    • 3
    • 4

    执行流程:

    1. 执行while后的条件表达式,如果结果为True,则执行循环体(代码块);
    2. 执行完循环体后,再次对条件表达式进行判断;
    3. 如果条件表达式仍然为True,则继续执行循环体,以此类推,直到条件表达式为False;
    4. 如果循环有对应的else语句,则执行else后的代码块。

    示例代码:

    以下是一个使用while循环打印数字的示例代码:

    i = 0
    while i < 10:
        i += 1
        print(i, "hello")
    else:
        print("else中的代码块")
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    在上述示例中,我们首先初始化变量i为0,然后通过i < 10作为条件表达式来控制循环的执行。在循环体中,我们对i进行自增操作,并打印出当前的值和"hello"。当i达到10时,条件表达式为False,循环终止。最后,由于循环有对应的else语句,所以会执行else中的代码块,打印出"else中的代码块"。

    循环可以根据条件表达式的不同而具有灵活性。通过控制条件表达式和循环体内的代码,你可以实现各种不同的循环逻辑。在编写循环时,一定要注意循环的终止条件,避免出现死循环。同时,利用循环的特性可以简化重复的操作,提高代码的效率。

    实战练习

    练习1:求100以内所有的奇数之和

    示例代码:

    # 初始化变量sum,用于存储奇数之和
    sum = 0
    
    # 使用循环遍历100以内的所有数
    for i in range(1, 101):
        # 判断当前数是否为奇数
        if i % 2 != 0:
            # 是奇数,则累加到sum中
            sum += i
    
    print("100以内所有的奇数之和为:", sum)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    练习2:求100以内所有7的倍数之和,以及个数

    示例代码:

    # 初始化变量sum和count,用于存储倍数之和和个数
    sum = 0
    count = 0
    
    # 使用循环遍历100以内的所有数
    for i in range(1, 101):
        # 判断当前数是否为7的倍数
        if i % 7 == 0:
            # 是7的倍数,则累加到sum中,并增加count的值
            sum += i
            count += 1
    
    print("100以内所有的7的倍数之和为:", sum)
    print("100以内所有的7的倍数个数为:", count)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14

    练习3:求1000以内所有的水仙花数

    水仙花数是指一个 n 位数(n≥3 ),它的每个位上的数字的 n 次幂之和等于它本身(例如:13 + 53 + 3**3 = 153)。

    求1000以内所有的水仙花数
    示例代码:

    # 使用循环遍历1000以内的所有数
    for num in range(100, 1000):
        # 获取百位、十位、个位数字
        hundreds_digit = num // 100
        tens_digit = (num // 10) % 10
        ones_digit = num % 10
        
        # 判断当前数是否为水仙花数
        if num == hundreds_digit ** 3 + tens_digit ** 3 + ones_digit ** 3:
            print(num)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    练习4:获取用户输入的任意数,判断其是否是质数

    # 获取用户输入的数字
    num = int(input("请输入一个数字:"))
    
    # 定义变量is_prime,用于判断是否为质数,默认为True
    is_prime = True
    
    # 判断是否为质数
    if num > 1:
        for i in range(2, num):
            if num % i == 0:
                is_prime = False
                break
    else:
        is_prime = False
    
    # 输出结果
    if is_prime:
        print(num, "是质数")
    else:
        print(num, "不是质数")
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20

    循环嵌套

    练习1:打印99乘法表

    # 使用两层循环实现乘法表的打印
    for i in range(1, 10):  # 控制行数
        for j in range(1, i + 1):  # 控制列数
            print(j, "*", i, "=", i * j, end=" ")
        print()
    
    • 1
    • 2
    • 3
    • 4
    • 5

    练习2:求100以内所有的质数

    # 初始化变量count,用于计数质数的个数
    count = 0
    
    # 使用循环遍历100以内的所有数
    for num in range(2, 101):
        # 判断是否为质数
        is_prime = True
        for i in range(2, int(num ** 0.5) + 1):
            if num % i == 0:
                is_prime = False
                break
    
        # 如果是质数,则打印输出并增加计数器的值
        if is_prime:
            print(num, end=" ")
            count += 1
    
    # 输出质数的个数
    print("\n100以内所有的质数个数为:", count)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19

    小游戏《唐僧大战白骨精》

    1、身份选择
        ① 显示提示信息
            欢迎光临 xxx 游戏!
            请选择你的身份:
                1.xxx
                2.xxx
            请选择:x
        ② 根据用户选择来分配身份(显示不同的提示消息)  
            1.---
            2.---
            3.---  
    
    2、游戏进行
        ① 显示玩家的基本信息(攻击力 生命值)
        ② 显示玩家可以进行的操作:
            1、练级
                - 提升玩家的攻击力和生命值
            2、打BOSS
                - 玩家对BOSS进行攻击,玩家要攻击BOSS,BOSS对玩家进行反击
                - 计算BOSS是否被玩家消灭,玩家是否被BOSS消灭
                - 游戏结束
            3、逃跑
                - 退出游戏,显示提示信息,游戏结束!
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23

    示例代码:

    import random
    
    # 显示身份选择提示信息
    print("欢迎光临《唐僧大战白骨精》游戏!")
    print("请选择你的身份:")
    print("1. 唐僧")
    print("2. 白骨精")
    
    # 获取用户选择的身份
    choice = input("请选择(输入数字序号):")
    
    if choice == "1":
        # 唐僧身份
        print("你选择了唐僧身份,祝你成功取经!")
        
        # 初始化玩家的攻击力和生命值
        player_attack = 10
        player_hp = 100
        
        while True:
            # 显示玩家的基本信息
            print("【玩家信息】")
            print("攻击力:", player_attack)
            print("生命值:", player_hp)
            
            # 显示玩家可以进行的操作
            print("请选择你要进行的操作:")
            print("1. 练级")
            print("2. 打BOSS")
            print("3. 逃跑")
            
            # 获取用户选择的操作
            choice = input("请选择(输入数字序号):")
            
            if choice == "1":
                # 练级操作,提升玩家的攻击力和生命值
                player_attack += 5
                player_hp += 20
                print("恭喜你,成功练级!")
            elif choice == "2":
                # 打BOSS操作
                boss_attack = random.randint(10, 30)
                boss_hp = random.randint(100, 200)
                
                print("【BOSS信息】")
                print("攻击力:", boss_attack)
                print("生命值:", boss_hp)
                print("战斗开始!")
                
                while True:
                    # 玩家攻击BOSS
                    boss_hp -= player_attack
                    print("你对BOSS造成了", player_attack, "点伤害")
                    
                    # 判断是否击败BOSS
                    if boss_hp <= 0:
                        print("恭喜你,成功击败BOSS!")
                        break
                    
                    # BOSS反击玩家
                    player_hp -= boss_attack
                    print("BOSS对你造成了", boss_attack, "点伤害")
                    
                    # 判断是否被BOSS消灭
                    if player_hp <= 0:
                        print("很遗憾,你被BOSS消灭了!")
                        break
            elif choice == "3":
                # 逃跑操作,退出游戏
                print("你选择了逃跑,游戏结束!")
                break
            else:
                print("无效操作,请重新选择!")
    
    elif choice == "2":
        # 白骨精身份
        print("你选择了白骨精身份,准备吃唐僧肉!")
        
        # 初始化玩家的攻击力和生命值
        player_attack = 20
        player_hp = 80
        
        while True:
            # 显示玩家的基本信息
            print("【玩家信息】")
            print("攻击力:", player_attack)
            print("生命值:", player_hp)
            
            # 显示玩家可以进行的操作
            print("请选择你要进行的操作:")
            print("1. 练级")
            print("2. 打唐僧")
            print("3. 逃跑")
            
            # 获取用户选择的操作
            choice = input("请选择(输入数字序号):")
            
            if choice == "1":
                # 练级操作,提升玩家的攻击力和生命值
                player_attack += 10
                player_hp += 10
                print("恭喜你,成功练级!")
            elif choice == "2":
                # 打唐僧操作
                tangseng_attack = random.randint(5, 15)
                tangseng_hp = random.randint(50, 150)
                
                print("【唐僧信息】")
                print("攻击力:", tangseng_attack)
                print("生命值:", tangseng_hp)
                print("战斗开始!")
                
                while True:
                    # 玩家攻击唐僧
                    tangseng_hp -= player_attack
                    print("你对唐僧造成了", player_attack, "点伤害")
                    
                    # 判断是否击败唐僧
                    if tangseng_hp <= 0:
                        print("恭喜你,成功吃到了唐僧肉!")
                        break
                    
                    # 唐僧反击玩家
                    player_hp -= tangseng_attack
                    print("唐僧对你造成了", tangseng_attack, "点伤害")
                    
                    # 判断是否被唐僧消灭
                    if player_hp <= 0:
                        print("很遗憾,你被唐僧打败了!")
                        break
            elif choice == "3":
                # 逃跑操作,退出游戏
                print("你选择了逃跑,游戏结束!")
                break
            else:
                print("无效操作,请重新选择!")
    
    else:
        print("无效选择,游戏结束!")
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51
    • 52
    • 53
    • 54
    • 55
    • 56
    • 57
    • 58
    • 59
    • 60
    • 61
    • 62
    • 63
    • 64
    • 65
    • 66
    • 67
    • 68
    • 69
    • 70
    • 71
    • 72
    • 73
    • 74
    • 75
    • 76
    • 77
    • 78
    • 79
    • 80
    • 81
    • 82
    • 83
    • 84
    • 85
    • 86
    • 87
    • 88
    • 89
    • 90
    • 91
    • 92
    • 93
    • 94
    • 95
    • 96
    • 97
    • 98
    • 99
    • 100
    • 101
    • 102
    • 103
    • 104
    • 105
    • 106
    • 107
    • 108
    • 109
    • 110
    • 111
    • 112
    • 113
    • 114
    • 115
    • 116
    • 117
    • 118
    • 119
    • 120
    • 121
    • 122
    • 123
    • 124
    • 125
    • 126
    • 127
    • 128
    • 129
    • 130
    • 131
    • 132
    • 133
    • 134
    • 135
    • 136
    • 137
    • 138
    • 139

    总结

    循环语句是编程中一种重要的控制结构,可以使指定的代码块重复执行多次。在Python中,常见的循环语句有while循环和for循环。

    while循环

    • while循环的基本语法为:

      while 条件表达式:
          代码块
      else:
          代码块
      
      • 1
      • 2
      • 3
      • 4
    • 执行流程:

      1. 执行while后的条件表达式,如果结果为True,则执行循环体(代码块);
      2. 执行完循环体后,再次对条件表达式进行判断;
      3. 如果条件表达式仍然为True,则继续执行循环体,以此类推,直到条件表达式为False;
      4. 如果循环有对应的else语句,则执行else后的代码块。
    • 循环的注意事项:

      • 避免死循环:确保在循环内部有能够改变条件表达式的代码,否则会陷入无限循环。
      • 初始化和更新表达式:需要在循环外部先初始化变量,并在循环体内部对变量进行更新操作,以控制循环的执行。
      • 利用break语句:可以在循环内部使用break语句来提前终止循环。
    • 示例代码:

      i = 0
      while i < 10:
          i += 1
          print(i, "hello")
      else:
          print("else中的代码块")
      
      • 1
      • 2
      • 3
      • 4
      • 5
      • 6

      在上述示例中,我们使用while循环打印数字1到10,并在每个数字后面输出"hello"。当i达到10时,条件表达式i < 10为False,循环终止。最后,由于循环有对应的else语句,所以会执行else中的代码块。

    • while循环的灵活性:可以通过控制条件表达式和循环体内的代码,实现不同的循环逻辑。利用循环的特性可以简化重复的操作,提高代码的效率。

    循环是编程中常用的控制结构之一,掌握循环语句的使用可以让代码更加灵活和高效。但也要注意循环的终止条件和避免死循环的情况,以确保程序的正确执行。


    python 学习专栏推荐

    python基础知识(0基础入门)

    【python基础知识】0.print()函数
    【python基础知识】1.数据类型、数据应用、数据转换
    【python基础知识】2.if条件判断与条件嵌套
    【python基础知识】3.input()函数
    【python基础知识】4.列表和字典
    【python基础知识】5.for循环和while循环
    【python基础知识】6.布尔值和四种语句(break、continue、pass、else)
    【python基础知识】7.实操-用Python实现“文字PK”小游戏(一)
    【python基础知识】7.实操-用Python实现“文字PK”小游戏(二)
    【python基础知识】8.编程思维:如何解决问题-思维篇
    【python基础知识】9.函数的定义和调用
    【python基础知识】10.用函数编写程序 - 实操篇
    【python基础知识】10.用Python实现石头剪刀布小游戏-函数实操篇
    【python基础知识】11.如何debug -常见报错原因及排查思路 - 思维篇
    【python基础知识】12.类与对象(一)
    【python基础知识】12.类与对象(二)
    【python基础知识】13.类与对象(三)
    【python基础知识】13.类与对象(四)
    【python基础知识】14.图书管理系统的搭建(类与对象实操)
    【python基础知识】15.编码基础知识
    【python基础知识】16.文件读写基础及操作
    【python基础知识】16.“古诗默写题”的python实现(文件读写和编码-实操篇)
    【python基础知识】17.模块的概念以及如何引入
    【python基础知识】18.实操-使用python自动群发邮件
    【python基础知识】19.产品思维以及流程图的使用 - 思维篇
    【python基础知识】20.“午饭吃什么”的python实现(产品思维-实操篇)
    【python基础知识】21.高效偷懒的正确打开方式-毕业篇
    【python文件处理】CSV文件的读取、处理、写入
    【python文件处理】Excel自动处理(使用 openpyxl)
    【python文件处理】-excel格式处理

  • 相关阅读:
    NPDP产品经理证书是什么行业的证书?
    《基于Easydl的虎狮检测》计算机新技术讲座课程设计
    荐书 | 《考试脑科学》:这样学习才能事半功倍
    像素、视口、网页计量单位与移动端适配方案
    Mybatis完整版详解
    Laya中的脚本与外部的Js之间相互调用
    测试用例和自动化测试脚本也可以像代码一样复用
    星火绘镜Typemovie:释放创意,轻松制作你的短视频故事
    Unity HDRP Custom Pass 实现场景雪地效果
    GDB调试简单介绍
  • 原文地址:https://blog.csdn.net/qq_41308872/article/details/132732131
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号