代码就像做菜,有固定步骤(顺序),要判断火候(分支),还要翻炒多次(循环)
🎯 本章目标
学完本章,你会:
✅ 理解顺序、分支、循环的基本概念
✅ 掌握if条件判断的三种写法
✅ 掌握for和while循环的使用
✅ 能看懂和编写简单的流程控制代码
✅ 理解程序流程控制的逻辑思维
📈 第一部分:顺序流程 - 最基础的代码执行
什么是顺序流程?顺序流程就是代码按照写的顺序,一行一行往下执行。
想象一下:
# 示例:打印问候语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/while重复执行
注意缩进和冒号!
多练习才能掌握
下一步:尝试用今天学的知识,写一些小程序:
判断一个数是奇数还是偶数
打印1-100中所有3的倍数
模拟登录验证(输入密码,最多3次)
下一章预告:函数 - 把代码打包成工具
你会学习如何把重复的代码打包成函数,让代码更简洁、更易用!
准备好了吗?让我们继续前进!🚀
小提示:编程就像学骑车,开始会摔倒,多练习就会了。每个程序员都是从这些基础开始的,你也能做到!