Python流程控制语句

发布时间:2026/5/21 17:32:45

Python流程控制语句 本文介绍了Python中的流程控制语句主要包括分支结构和循环结构。分支结构通过if、elif、else实现条件判断包括单分支、双分支和多分支形式并演示了嵌套分支的应用。循环结构包含while和for两种形式详细说明了它们的语法、执行逻辑和使用场景同时介绍了循环嵌套、continue和break控制语句的应用。文章通过多个实例如年龄判断、字符串加密、九九乘法表等展示了流程控制语句的实际应用最后以一个答题闯关游戏综合案例完整演示了流程控制语句的综合运用。第 4 章 流程控制语句程序并不是简单的“从上到下”执行很多时候我们希望程序能根据不同的情况做出不同的选择比如根据情况跳过某些代码或者重复执行某些代码那这时就需要用到『流程控制语句』程序的执行流程大体上可分为三类顺序、分之、循环。备注其中顺序执行是最简单的就是按照程序的编写顺序依次执行所以我们不再探讨顺序执行。1. 分之分支有很多其他的称呼比如条件控制语句、分支语句、选择语句。分之是通过条件判断来决定执行哪些代码。1.1. 单分支1️⃣语法格式if 判断条件: 条件【成立】时执行的代码1 条件【成立】时执行的代码2 ......2️⃣语法图解⚠️注意Python 靠代码缩进来识别代码范围所以条件成立时要执行的代码前必须加空格。3️⃣示例代码age int(input(请输入你的年龄)) if age 18: print(你是成年人) print(成年人的世界虽不容易但很精彩) print(欢迎你来学习Python)1.2. 双分支1️⃣语法格式if 判断条件: 条件【成立】时执行的代码1 条件【成立】时执行的代码2 else: 条件成【不成立】时执行的代码1 条件成【不成立】时执行的代码22️⃣语法图解3️⃣示例代码age int(input(请输入你的年龄)) if age 18: print(你是成年人) print(成年人的世界虽不容易但很精彩) else: print(你是未成年人) print(好好加油努力学习未来可期) print(欢迎你来学习Python)1.3. 多分支1️⃣语法格式if 判断条件1: 条件1【成立】时执行的代码 elif 判断条件2: 条件2【成立】时执行的代码 elif 判断条件3: 条件3【成立】时执行的代码 else: # else如不需要可以省略 上述所有条件都不成立时执行的代码2️⃣语法图解3️⃣示例代码# 根据年龄来判断处于人生哪个阶段。 age int(input(请输入你的年龄)) if age 10: print(你是幼儿) elif age 18: print(你是青少年) elif age 30: print(你是青年) elif age 50: print(你是中年) elif age 60: print(你是中老年) else: print(你是老年)使用多分支语句时需要注意下面几点一个if语句只能匹配1个else语句但可以匹配多个elif语句并且else语句要在所有的elif语句之后。一旦某个分支语句检测为true其他的elif以及else语句都将不再执行。1.4. 嵌套分之1️⃣语法格式if 判断条件1: # 条件1 成立时执行的代码1 # 条件1 成立时执行的代码2 # ...... if 判断条件2: # 条件2 成立时执行的代码1 # 条件2 成立时执行的代码2 # ...... elif 判断条件3: # 条件3 成立时执行的代码 # ...... else: # 条件2、条件3 都不成立时执行的代码1 # 条件2、条件3 都不成立时执行的代码2 # ...... else: # 条件1 不成立时执行的代码1 # 条件1 不成立时执行的代码2 # ...... if 判断条件4: # 条件4 成立时执行的代码 # ...... else: # 条件4 不成立时执行的代码 # ......2️⃣语法图解3️⃣案例age int(input(请输入你的年龄)) has_report input(您是否提交了体检报告是/否) level int(input(请输入你的会员等级1/2/3)) print(******⬇️程序的识别结果如下⬇️******) if 18 age 45: print(✅️您的年龄符合比赛要求) if has_report 是: print(✅️您已提交体检报告) print(✅️您可以参加比赛) if level 1: print(f尊敬的{level}会员比赛结束后您可以领取纪念T恤一件) elif level 2: print(f尊敬的{level}会员比赛结束后您可以领取专业跑鞋一双) elif level 3: print(f尊敬的{level}会员比赛结束后您可以领取运动耳机️一副) else: print(❌您输入的会员等级不正确) elif has_report 否: print(❌您未提交体检报告不能参加比赛) else: print(❌您输入的体检报告有误) else: print(❌抱歉参赛年龄需要在18~45之间)2. 循环循环是一种让代码“重复执行”的机制当某个条件成立时程序会反复执行一些语句直到条件不再满足时再停止运行。2.1. while 循环1️⃣语法格式while 循环条件: 条件成立时执行的操作1 条件成立时执行的操作22️⃣循环逻辑先判断循环条件是否成立是否为True如果成立 → 执行循环中的代码执行完循环体 → 再次判断循环条件若仍成立 → 继续执行循环中的代码若不成立 → 循环结束3️⃣代码示例n 1 while n 10: print(f第{n}次你好啊) n 1 print(f我是while循环以外的代码执行到这里时循环已经结束了此时的n是{n})注意如果条件一直成立就是无限循环死循环。例如上述代码中如果忘记编写n 1就会产生死循环。4️⃣案例print(您现在身处密室需要正确回答问题之后才能逃出密室) riddle 你是什么人 answer 你的心上人 guess while guess ! answer: print(f问题{riddle}) guess input(请输入答案) if guess answer: print(✅️答案正确逃脱成功) else: print(❌️回答错误请再想想)2.2. for 循环1️⃣语法格式for 临时变量 in 可迭代对象 要执行的操作1 要执行的操作2什么叫『可迭代对象』比如我们有一个盒子里面装着苹果、香蕉、橙子。我们可以一个接一个地把水果取出来那这个盒子就相当于 Python 中的可迭代对象。每次 for 循环执行时其实就是在“取出一个水果”目前我们还没学到“类”和“对象”先记住一句话 能一个个取出来的就是可迭代的。2️⃣循环逻辑从可迭代对象中取出第一个元素 → 赋值给临时变量执行循环中的代码取出下一个元素 → 重复执行当所有元素取完后 → 循环结束3️⃣代码示例# 使用for循环遍历range()所指定的数字范围 n 0 for n in range(1, 11): print(f第{n}次你好啊) print(f我是for循环以外的代码执行到这里时循环已经结束了此时的n是{n}) # 使用for循环遍历字符串 for m in abcdef: print(m) # 演示由于误操作造成的死循环下面代码中用到了列表我们后面会讲解 # 备注for循环还能遍历很多我们没有讲到的东西比如元组、列表、对象...... nums [1,2,3] for i in nums: # nums.append(4) # 此行代码会造成死循环 print(i)以上代码中的range(1, 11)、abcdef、[1,2,3]这些都是可迭代对象我们后面还会遇到很多可迭代对象。4️⃣案例实现一个字符串加密程序大致思路如下图# 加密代码 text input(请输入要加密的文字) secret for t in text: secret chr(ord(t) 1) print(f㊙️经过加密后的内容为{secret}) # 解密代码 secret input(请输入要解密的文字) text for s in secret: text chr(ord(s) - 1) print(f经过解密后的内容为{text})2.3. 对比 while 与 for2.4. 嵌套循环1️⃣概念在一个循环的内部再写一个或多个循环就是嵌套循环。2️⃣案例实现一个为期 30 天的健身计划效果如图# for循环实现 day 1 for day in range(1,31): print(f********第{day}天********) for group in range(1,4): print(f这是第{group}组仰卧起坐) print(f✅第{day}天任务已完成明天继续\n) print(f为期{day}天的健身计划完成我的腹肌在闪闪发光)# while循环实现 day 1 while day 30: print(f********第{day}天********) group 1 while group 3: print(f这是第{group}组仰卧起坐) group 1 print(f✅第{day}天任务已完成明天继续\n) day 1 print(f为期{day - 1}天的健身计划完成我的腹肌在闪闪发光)2.5. 九九乘法表案例案例效果如图print(你好, end)中的end用来控制打印后结尾输出的内容。# 前序知识 print(你好, end) print(尚硅谷, end)# for循环实现九九乘法表 for row in range(1, 10): for item in range(1, row 1): print(f{item}*{row}{item * row}, end\t) print()2.6. continue 与 breakcontinue和break都可用于循环语句中while循环、for循环都可以它们的作用分别是continue跳过本次循环剩余语句直接进入下一次循环判断。break立即终止循环不再执行后续循环。1️⃣测试continue建议参考视频教程中对下方代码的分析与讲解# 测试continue for day in range(1, 5): print(f********第{day}天********) print(吃饭) continue print(睡觉) for day in range(1, 5): print(f********第{day}天********) print(吃饭) if day 2: continue print(睡觉) for day in range(1, 5): if day 2: continue print(f********第{day}天********) print(吃饭) print(睡觉) for day in range(1, 5): print(f********第{day}天********) print(吃饭) for item in range(1, 3): print(f面包{item}) continue print(f牛奶{item}) print(睡觉) for day in range(1, 5): print(f********第{day}天********) print(吃饭) for item in range(1, 3): print(f面包{item}) if day 4 and item 2: continue print(f牛奶{item}) print(睡觉)2️⃣测试break建议参考视频教程中对下方代码的分析与讲解for day in range(1, 5): print(f********第{day}天********) print(吃饭) break print(睡觉) for day in range(1, 5): print(f********第{day}天********) print(吃饭) if day 2: break print(睡觉) for day in range(1, 5): if day 2: break print(f********第{day}天********) print(吃饭) print(睡觉) for day in range(1, 5): print(f********第{day}天********) print(吃饭) for item in range(1,3): print(f面包{item}) if day 4 and item 2: break print(f牛奶{item}) print(睡觉)2.7. 综合案例print(欢迎来到答题闯关挑战赛输入q可随时退出\n) # 题目与答案 ques1, ans1 Python中用于输出的函数是, print ques2, ans2 Python中用于表示逻辑“并且”的关键字是, and ques3, ans3 Python属于编译型还是解释型, 解释型 # 最多可尝试次数 max_tries 3 # 总关卡数 total_levels 3 # 是否处于可游戏状态 is_playing True # 根据题目数量开始循环 for level in range(1, total_levels 1): # 打印当前是第几关 print(f********第{level}关********) # 取出当前关卡所对应的题目和答案 if level 1: question, answer ques1, ans1 elif level 2: question, answer ques2, ans2 else: question, answer ques3, ans3 # 记录当前关卡的尝试次数 tries 1 # 若已经尝试的次数小于等于最大尝试次数则进入循环 while tries max_tries: # 向用户提问 user_input input(question) # 根据用户的输入来决定做什么 if user_input answer: print(✅回答正确\n) break elif user_input : print(⚠️您的输入为空请重新作答\n) continue elif user_input q: print(您已退出游戏\n) is_playing False break else: # 计算剩余次数 leave max_tries - tries # 判断是否还有剩余次数 if leave 0: print(f❌回答错误您还剩{leave}次机会\n) tries 1 continue else: print(f挑战失败本题的正确答案是{answer}游戏结束) is_playing False break # 每次进入下一关之前都要看一下is_playing如果is_playing为False就要结束游戏 if not is_playing: break # 如果到了这里is_playing的值依然为True那就意味着用户已经通关了 if is_playing: print(恭喜您全部通关)

相关新闻