当前位置:首页>python>Python三大程序流程:顺序、分支、循环

Python三大程序流程:顺序、分支、循环

  • 2026-09-28 23:24:20
Python三大程序流程:顺序、分支、循环

代码就像做菜,有固定步骤(顺序),要判断火候(分支),还要翻炒多次(循环)

🎯 本章目标

学完本章,你会:

  1. ✅ 理解顺序、分支、循环的基本概念

  2. ✅ 掌握if条件判断的三种写法

  3. ✅ 掌握for和while循环的使用

  4. ✅ 能看懂和编写简单的流程控制代码

  5. ✅ 理解程序流程控制的逻辑思维


📈 第一部分:顺序流程 - 最基础的代码执行

什么是顺序流程?顺序流程就是代码按照写的顺序,一行一行往下执行。

想象一下:

  • 早上起床的顺序:1. 起床 → 2. 刷牙 → 3. 洗脸 → 4. 吃早餐 → 5. 出门

  • 不能跳过刷牙直接洗脸,也不能先出门再吃早餐

# 示例:打印问候语print("1. 早上好!")print("2. 吃早餐了吗?")print("3. 今天天气真好!")# 输出:# 1. 早上好!# 2. 吃早餐了吗?# 3. 今天天气真好!

顺序流程的特点:

  • ✅ 简单直观,容易理解

  • ✅ 适合固定步骤的任务

  • ❌ 不能做判断

  • ❌ 不能重复执行

  • ❌ 遇到问题不会跳过


🔀 第二部分:分支流程 - 让程序"会思考"

什么是分支流程?分支流程让程序根据不同情况选择执行不同的代码。

现实比喻:

  • 看天气决定出门:下雨→带伞,晴天→戴帽子

  • 考试分数:≥60分→及格,<60分→不及格

分支流程的三种写法

写法1:简单if(如果...)

# 语法if 条件:    要做的事# 示例:如果下雨,就带伞is_raining = Trueif is_raining:    print("今天下雨,要带伞!")# 另一个示例age = 20if age >= 18:    print("你已经成年了!")

注意:

  • if后面要有冒号 :

  • 要执行的代码要缩进4个空格

  • 条件为True才执行,为False就不执行

写法2:if-else(如果...否则...)

# 语法if 条件:    条件为真时做的事else:    条件为假时做的事# 示例:判断成绩是否及格score = 85if score >= 60:    print("恭喜!及格了!")else:    print("很遗憾,不及格。")# 另一个示例has_ticket = Falseif has_ticket:    print("可以进入电影院")else:    print("请先买票")

写法3:if-elif-else(多重选择)

# 语法if 条件1:    条件1为真时做的事elif 条件2:  # elif是"否则如果"的意思    条件2为真时做的事else:    所有条件都不满足时做的事# 示例:成绩评级score = 85if score >= 90:    print("优秀")elif score >= 80:    print("良好")elif score >= 70:    print("中等")elif score >= 60:    print("及格")else:    print("不及格")# 另一个示例:工作日判断day = "周三"if day == "周一":    print("新的一周开始了")elif day == "周五":    print("明天就周末啦!")elif day == "周六" or day == "周日":    print("周末愉快!")else:    print("工作日,努力工作")

elif小技巧:

  • 可以有多个elif

  • 按顺序检查条件

  • 找到第一个为True的条件就执行对应的代码

  • 后面的条件不再检查

条件表达式;条件可以是比较运算或逻辑运算:

# 比较运算# > 大于    < 小于    >= 大于等于   <= 小于等于# == 等于   != 不等于a = 10b = 5if a > b:      # True    print("a比b大")if a == 10:    # True    print("a等于10")if a != 5:     # True    print("a不等于5")# 逻辑运算# and 并且(两个都为True,结果才为True)# or 或者(至少一个为True,结果就为True)# not 非(取反)age = 20money = 100if age >= 18 and money >= 50:    print("可以买票看电影")if age < 6 or age >= 60:    print("可以买优惠票")if not age < 18:  # 相当于 age >= 18    print("不是未成年人")

🔁 第三部分:循环流程 - 让程序"重复劳动"

什么是循环流程?循环流程让程序重复执行同一段代码,直到满足停止条件。

现实比喻:

  • 数数:1, 2, 3, ... 一直数到10

  • 做俯卧撑:1个,2个,3个... 直到做不到为止

两种循环写法

写法1:for循环(遍历循环)

# 语法for 变量 in 序列:    重复执行的代码# 示例:数数for i in [1, 2, 3, 4, 5]:    print(f"数到: {i}")# 输出:# 数到: 1# 数到: 2# 数到: 3# 数到: 4# 数到: 5# 示例:打印水果fruits = ["苹果", "香蕉", "橙子"]for fruit in fruits:    print(f"我喜欢吃{fruit}")# 输出:# 我喜欢吃苹果# 我喜欢吃香蕉# 我喜欢吃橙子

range()函数:生成数字序列

# range(5) → 0, 1, 2, 3, 4# range(1, 6) → 1, 2, 3, 4, 5# range(0, 10, 2) → 0, 2, 4, 6, 8# 示例:打印1-5for i in range(1, 6):    print(f"第{i}次")# 示例:打印偶数for i in range(0, 10, 2):    print(f"偶数: {i}")# 示例:倒计时for i in range(5, 0, -1):    print(f"倒计时: {i}")print("发射!")

写法2:while循环(条件循环)

# 语法while 条件:    条件为真时重复执行的代码# 示例:数到5count = 1while count <= 5:    print(f"数到: {count}")    count += 1  # 重要!要改变条件,否则会无限循环# 输出:# 数到: 1# 数到: 2# 数到: 3# 数到: 4# 数到: 5# 示例:猜数字import randomsecret_number = random.randint(1, 10)guess = 0attempts = 0print("猜一个1-10之间的数字")while guess != secret_number:    guess = int(input("请输入你的猜测: "))    attempts += 1    if guess < secret_number:        print("猜小了!")    elif guess > secret_number:        print("猜大了!")    else:        print(f"恭喜!猜对了!用了{attempts}次")# 注意:while循环要有退出条件,否则会无限循环!

for循环 vs while循环:

循环控制语句

break:立即停止循环

# 找到3就停止for i in range(1, 6):    if i == 3:        print("找到3了,停止!")        break    print(i)# 输出:# 1# 2# 找到3了,停止!

continue:跳过本次循环

# 跳过偶数for i in range(1, 6):    if i % 2 == 0:  # 如果是偶数        continue    # 跳过    print(f"奇数: {i}")# 输出:# 奇数: 1# 奇数: 3# 奇数: 5

break和continue的区别:

  • break:彻底停止循环,后面的都不执行了

  • continue:只跳过这一次,继续下一次循环


🧩 三种流程的对比总结


🎮 简单练习

练习1:判断星期

# 根据数字判断星期几day_number = 3  # 可以改成1-7if day_number == 1:    print("星期一")elif day_number == 2:    print("星期二")elif day_number == 3:    print("星期三")elif day_number == 4:    print("星期四")elif day_number == 5:    print("星期五")elif day_number == 6:    print("星期六")elif day_number == 7:    print("星期日")else:    print("请输入1-7之间的数字")

练习2:乘法表

# 打印1x1到9x9的乘法表for i in range(1, 10):  # 外层循环    for j in range(1, i + 1):  # 内层循环        print(f"{j}×{i}={i*j:2d}", end="  ")  # :2d是让数字占2位    print()  # 换

练习3:猜数字游戏

import random# 生成随机数secret = random.randint(1, 100)print("猜一个1-100之间的数字")# 最多猜7次for attempt in range(1, 8):    guess = int(input(f"第{attempt}次猜: "))    if guess < secret:        print("猜小了!")    elif guess > secret:        print("猜大了!")    else:        print(f"🎉 猜对了!就是{secret},用了{attempt}次")        breakelse:    # for循环正常结束(没被break)时执行    print(f"😢 没猜中,数字是{secret}")

💡 常见错误

错误1:忘记冒号

# ❌ 错误if age >= 18    print("成年")# ✅ 正确if age >= 18:    print("成年")

错误2:缩进错误

# ❌ 错误if age >= 18:print("成年")  # 没有缩进# ✅ 正确if age >= 18:    print("成年")  # 缩进4个空格

错误3:忘记改变条件

# ❌ 错误:无限循环count = 1while count <= 5:    print(count)    # 忘记 count += 1,count永远<=5# ✅ 正确count = 1while count <= 5:    print(count)    count += 1  # 改变条件

错误4:= 和 == 混淆

# ❌ 错误if age = 18:  # = 是赋值,不是比较    print("刚好18岁")# ✅ 正确if age == 18:  # == 是比较    print("刚好18岁")

📋 检查清单

  • [ ] 能说出顺序流程的特点

  • [ ] 能写出if-elif-else判断成绩等级

  • [ ] 能用for循环打印1-10

  • [ ] 能用while循环实现猜数字

  • [ ] 能区分break和continue

  • [ ] 能看懂包含三种流程的代码

  • [ ] 能写出简单的流程控制代码

  • [ ] 知道常见错误和如何避免


🎉 恭喜!流程控制掌握完成你已经学会了编程中最核心的三种流程控制:

现在你会:

  1. 顺序流程:让代码按顺序执行

  2. 分支流程:让代码会做判断

  3. 循环流程:让代码能重复执行

记住要点:

  • 顺序流程:代码一行行往下执行

  • 分支流程:用if/elif/else做选择

  • 循环流程:用for/while重复执行

  • 注意缩进和冒号!

  • 多练习才能掌握

下一步:尝试用今天学的知识,写一些小程序:

  1. 判断一个数是奇数还是偶数

  2. 打印1-100中所有3的倍数

  3. 模拟登录验证(输入密码,最多3次)

下一章预告:函数 - 把代码打包成工具

你会学习如何把重复的代码打包成函数,让代码更简洁、更易用!

准备好了吗?让我们继续前进!🚀

小提示:编程就像学骑车,开始会摔倒,多练习就会了。每个程序员都是从这些基础开始的,你也能做到!

最新文章

随机文章