Python流程控制:从条件到循环实战

一、条件语句(if-elif-else

条件语句用于根据不同条件执行不同的代码块。

1. 基本结构
python 复制代码
if 条件1:
    # 条件1成立时执行
elif 条件2:
    # 条件2成立时执行
else:
    # 以上条件均不成立时执行
2. 示例:成绩评级
python 复制代码
score = 85
if score >= 90:
    print("A")
elif score >= 80:
    print("B")
elif score >= 70:
    print("C")
else:
    print("D")
# 输出:B

二、循环语句

循环用于重复执行代码块。

1. while 循环
  • 当条件满足时重复执行
python 复制代码
count = 0
while count < 5:
    print(f"当前计数: {count}")
    count += 1
2. for 循环
  • 遍历序列(列表、字符串、元组等)或迭代器
python 复制代码
fruits = ["苹果", "香蕉", "橙子"]
for fruit in fruits:
    print(f"我喜欢吃{fruit}")

# 搭配 range() 函数
for i in range(3):  # 0,1,2
    print(i)

三、控制语句

1. break:立即退出循环
python 复制代码
num = 0
while True:
    num += 1
    if num == 3:
        break  # 退出循环
    print(num)
2. continue:跳过本次迭代
python 复制代码
for i in range(5):
    if i == 2:
        continue  # 跳过 i=2 的迭代
    print(i)  # 输出 0,1,3,4

四、实战项目:人生重开模拟器

通过一个文字游戏整合流程控制知识,模拟随机人生事件。

python 复制代码
import random

print("===== 人生重开模拟器 =====")
age = 0
health = 100
iq = 90

while age < 80 and health > 0:
    age += 1
    event = random.randint(1, 10)
    
    # 条件分支:不同事件触发不同结果
    if event <= 3:
        health -= 10
        print(f"{age}岁:生病了,健康-10")
    elif event <= 6:
        iq += 5
        print(f"{age}岁:学习进步,智商+5")
    else:
        health += 5
        print(f"{age}岁:坚持锻炼,健康+5")
    
    # 终止条件检测
    if health <= 0:
        print("💀 游戏结束:健康耗尽")
        break
    if iq >= 150:
        print("🏆 达成成就:天才人生")
        break

if age == 80:
    print("🎉 恭喜!活到80岁寿终正寝")

五、调试技巧

  1. 断点调试 :在循环中插入 print() 跟踪变量变化
  2. 条件边界 :验证循环终止条件是否合理(如 age < 80
  3. 概率测试:多次运行模拟器观察事件分布

总结

流程控制是编程核心逻辑的骨架。通过条件语句处理分支,循环语句实现重复,结合 break/continue 精细控制流程。实战项目将抽象语法转化为具体应用场景,加深理解!

相关推荐
~无忧花开~20 小时前
React元素渲染:核心概念全解析
开发语言·前端·javascript·react.js
Rolei_zl20 小时前
AIGC(生成式AI)试用 48 -- AI与软件开发过程3
python·aigc
harrain20 小时前
antv x6graph使用经验
前端·antv·x6
开开心心就好20 小时前
免费无广告的礼金记账本,安卓应用
java·前端·ubuntu·edge·pdf·负载均衡·语音识别
mcooiedo20 小时前
Mysql ONLY_FULL_GROUP_BY模式详解、group by非查询字段报错
数据库·mysql
柒.梧.20 小时前
新手入门:NoSQL与Redis核心基础解析
数据库·redis·nosql
qq_4160187220 小时前
持续集成/持续部署(CI/CD) for Python
jvm·数据库·python
执笔画情ora20 小时前
PG/mysql/oracle--- 长事务对后续事务影响分析
数据库·mysql·oracle
qq_2837200520 小时前
nestjs实战(六):诺依Nest.js + MySQL 项目改造为兼容达梦8数据库详细教程
javascript·数据库·mysql·达梦·nest.js·诺依
qq_4160187220 小时前
使用Python处理计算机图形学(PIL/Pillow)
jvm·数据库·python