news 2026/4/18 6:47:51

Python 流程控制详解:条件语句 + 循环语句 + 人生重开模拟器实战

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Python 流程控制详解:条件语句 + 循环语句 + 人生重开模拟器实战

Python 流程控制详解

Python 中的流程控制是编程的基础,它允许程序根据条件或重复执行某些代码块。主要包括条件语句(if、elif、else)和循环语句(for、while)。下面我将一步步详解它们,并通过示例说明。最后,我们通过一个“人生重开模拟器”的实战项目来综合应用这些知识。

我会使用代码示例来演示,每个示例后附带解释和预期输出。假设你有Python环境,如果你想运行这些代码,可以直接复制粘贴。

1. 条件语句(Conditional Statements)

条件语句用于根据某个条件(布尔表达式)来决定是否执行某些代码。Python 的条件语句结构简单,没有括号,但需要注意缩进(通常用4个空格)。

基本语法:
  • if 语句:如果条件为真(True),执行代码块。
  • elif 语句(可选):else if 的缩写,如果前面的 if 为假,但这个条件为真,则执行。
  • else 语句(可选):如果所有前面的条件都为假,则执行。

示例:

age=18ifage<18:print("你还是个孩子。")elifage==18:print("恭喜,你成年了!")else:print("你已经是大人了。")

解释

  • 这里检查age的值。
  • 如果age < 18,打印第一句。
  • 如果不满足,但age == 18,打印第二句。
  • 否则,打印第三句。
  • 输出:恭喜,你成年了!(因为 age=18)。
嵌套条件:

你可以嵌套 if 语句,实现更复杂的逻辑。

示例:

score=85ifscore>=60:ifscore>=90:print("优秀!")else:print("及格,继续努力。")else:print("不及格,需要补考。")

解释

  • 先检查是否及格(>=60),如果是的,再检查是否优秀(>=90)。
  • 输出:及格,继续努力。(因为 85 >=60 但 <90)。
条件表达式(三元运算符):

Python 支持简洁的条件表达式,用于简单赋值。

示例:

x=10result="正数"ifx>0else"非正数"print(result)

解释

  • 如果 x > 0,则 result = “正数”;否则 = “非正数”。
  • 输出:正数

注意事项

  • 条件可以是任何返回布尔值的表达式,如比较运算符(==, !=, >, <, >=, <=)、逻辑运算符(and, or, not)。
  • 空列表、空字符串等 falsy 值会被视为 False。
  • 避免过多嵌套,保持代码可读性。
2. 循环语句(Loop Statements)

循环用于重复执行代码块。Python 有两种主要循环:for 和 while。

for 循环:

用于遍历序列(如列表、元组、字符串、范围)中的每个元素。

基本语法:

for变量in可迭代对象:# 代码块

示例(遍历列表):

fruits=["苹果","香蕉","橙子"]forfruitinfruits:print(fruit)

解释

  • 依次取出 fruits 中的每个元素,赋给 fruit 并打印。
  • 输出:
    苹果 香蕉 橙子

示例(使用 range()):

foriinrange(5):# range(5) 生成 0 到 4print(i)

解释

  • range(start, stop, step):从 start 到 stop-1,步长 step(默认1)。
  • 输出:0 1 2 3 4(每行一个)。
while 循环:

当条件为真时,重复执行代码块。适合不确定循环次数的情况。

基本语法:

while条件:# 代码块

示例:

count=0whilecount<3:print("计数:",count)count+=1# 必须有递增,否则无限循环

解释

  • 只要 count < 3,就打印并递增 count。
  • 输出:
    计数: 0 计数: 1 计数: 2
循环控制语句:
  • break:立即退出循环。
  • continue:跳过当前迭代,继续下一次。
  • else 子句(可选):循环正常结束(没有 break)时执行。

示例(break 和 continue):

foriinrange(10):ifi==3:continue# 跳过 3ifi==7:break# 在 7 退出print(i)else:print("循环正常结束")

解释

  • 打印 0,1,2,4,5,6(跳过3,7前退出)。
  • else 不执行,因为有 break。
  • 输出:0 1 2 4 5 6(每行一个)。

注意事项

  • 避免无限循环:在 while 中确保条件会变为 False。
  • for 常用于已知次数,while 用于未知。
  • 可以嵌套循环,如双层 for 实现矩阵遍历。
3. 人生重开模拟器实战

现在,我们结合条件和循环做一个简单项目:人生重开模拟器。这是一个文本-based 游戏,模拟人生从出生到死亡的过程。使用随机事件,通过条件判断决策,通过循环模拟人生阶段。

项目需求

  • 模拟人生阶段:童年、青少年、成年、老年。
  • 每个阶段有随机事件(好/坏),影响“幸福值”和“财富值”。
  • 使用循环遍历阶段,使用条件判断事件结果。
  • 如果幸福值<0或财富值<0,游戏结束(“人生失败”)。
  • 否则,到老年结束,显示最终分数。

我们需要导入 random 模块来生成随机数。

完整代码:

importrandom# 初始化happiness=50# 幸福值wealth=50# 财富值stages=["童年","青少年","成年","老年"]print("欢迎来到人生重开模拟器!初始幸福值:50, 财富值:50")# 循环遍历人生阶段forstageinstages:print(f"\n进入{stage}阶段...")# 随机事件:生成 -20 到 20 的变化event_hap=random.randint(-20,20)event_wea=random.randint(-20,20)# 条件判断事件类型ifevent_hap>0andevent_wea>0:print("好运!遇到贵人,幸福和财富都增加。")elifevent_hap<0andevent_wea<0:print("倒霉!遭遇挫折,幸福和财富都减少。")elifevent_hap>0:print("开心的事!幸福增加,但财富变化不大。")else:print("挑战来临!财富变化,幸福受影响。")# 更新值happiness+=event_hap wealth+=event_weaprint(f"当前幸福值:{happiness}, 财富值:{wealth}")# 检查是否失败ifhappiness<0orwealth<0:print("人生失败!游戏结束。")break# 退出循环else:# 循环正常结束total_score=happiness+wealthprint(f"\n恭喜完成人生!最终分数:{total_score}")iftotal_score>150:print("完美人生!")eliftotal_score>100:print("不错的人生。")else:print("普通的人生,继续努力。")

解释

  • 循环:for 遍历 stages 列表,模拟每个阶段。
  • 条件:if-elif-else 判断事件类型,并更新值。
  • 随机:使用 random.randint 生成变化。
  • break:如果值<0,提前结束。
  • else 子句:循环结束时计算分数,并用条件判断评价。

运行示例(输出因随机而异):
假设一次运行:

欢迎来到人生重开模拟器!初始幸福值:50, 财富值:50 进入 童年 阶段... 开心的事!幸福增加,但财富变化不大。 当前幸福值: 65, 财富值: 42 进入 青少年 阶段... 好运!遇到贵人,幸福和财富都增加。 当前幸福值: 78, 财富值: 58 进入 成年 阶段... 倒霉!遭遇挫折,幸福和财富都减少。 当前幸福值: 60, 财富值: 40 进入 老年 阶段... 挑战来临!财富变化,幸福受影响。 当前幸福值: 45, 财富值: 55 恭喜完成人生!最终分数: 100 普通的人生,继续努力。

这个项目展示了流程控制的实际应用。你可以扩展它,比如添加用户输入(input())来做选择决策,进一步使用条件和循环。

如果有疑问或想修改代码,随时问我!

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/18 5:40:31

基于单片机的车载空调控制器(有完整资料)

资料查找方式&#xff1a;特纳斯电子&#xff08;电子校园网&#xff09;&#xff1a;搜索下面编号即可编号&#xff1a;CJ-51-2021-008设计简介&#xff1a;本设计是基于单片机的车载空调控制器&#xff0c;主要实现以下功能&#xff1a;可实现LCD1602显示设置温度以及实际温度…

作者头像 李华
网站建设 2026/4/16 23:07:29

模型量化权重校准实战

&#x1f493; 博客主页&#xff1a;借口的CSDN主页 ⏩ 文章专栏&#xff1a;《热点资讯》 模型量化权重校准实战&#xff1a;从理论到部署的深度实践目录模型量化权重校准实战&#xff1a;从理论到部署的深度实践 引言&#xff1a;被忽视的关键环节 一、权重校准的核心价值&am…

作者头像 李华
网站建设 2026/4/16 23:50:42

深度测评研究生必用的10款AI论文写作软件

深度测评研究生必用的10款AI论文写作软件 学术写作工具测评&#xff1a;为何需要一份权威榜单&#xff1f; 在当前科研环境日益激烈的背景下&#xff0c;研究生群体面临论文写作、文献检索、格式规范等多重挑战。随着AI技术的不断进步&#xff0c;各类论文写作软件层出不穷&…

作者头像 李华
网站建设 2026/4/17 13:34:26

2026年AI营销内容本地化终极指南

原圈科技AI营销内容为出海企业解决全球化挑战&#xff0c;打造真正"品效合一"的本地化营销素材✦ 引言在2026年&#xff0c;让世界听懂你的品牌故事进入2026年&#xff0c;对于雄心勃勃的中国出海企业而言&#xff0c;全球市场的画卷已然展开&#xff0c;但画布的另一…

作者头像 李华
网站建设 2026/4/17 21:34:57

YOLOv8 轻量化实战:融合 GhostNet 系列打造高效目标检测模型

文章目录 一、为什么毕设要选GhostNet系列? 二、GhostNet系列核心原理:“用最少计算,造最多特征” 1. GhostNet 2. GhostNetv2 3. GhostNeXt 三、实战:给YOLOv8植入GhostNet“轻量化基因” 环境准备 1. GhostNet模块实现 2. 改造YOLOv8配置文件 3. 训练与推理 训练命令 推理…

作者头像 李华