
如果把程序比作一道菜,那么控制结构就是这道菜的“烹饪步骤”。无论多复杂的程序,都可以拆解成三种最基本的控制结构:顺序、分支、循环。
顺序结构——按部就班
顺序结构就是代码从上到下一行一行执行,就像你每天早上起床后的流程:先刷牙、再洗脸、最后吃早饭,顺序不能乱。
例如早上起床三部曲:
1. 睁开眼睛
2. 起床穿衣服
3. 去卫生间洗漱
这些步骤必须按顺序来——你不可能先洗漱再睁开眼睛。
Python代码示例
print("第一步:睁开眼睛") print("第二步:起床穿衣服") print("第三步:去卫生间洗漱") |
运行结果:
第一步:睁开眼睛 第二步:起床穿衣服 第三步:去卫生间洗漱 |
再例如计算考试成绩:
chinese = 85 math = 92 english = 78 total = chinese + math + english average = total / 3 print(f"总分:{total},平均分:{average}") |
这段代码就是典型的顺序结构:先赋值,再计算总分,再计算平均分,最后输出。一步接一步,清清楚楚。
分支结构——看情况办事
分支结构就是根据条件是否成立,选择执行不同的代码。就像你走到十字路口,红灯停、绿灯行。
生活中的例子出门前看天气:
如果下雨,我就带伞
如果出太阳,我就戴帽子
如果阴天,我啥也不带
1. 单分支:如果……就……
weather = "下雨" if weather == "下雨": print("带伞出门") print("去上学") # 不管下不下雨,这行都会执行 |
如果天气是“下雨”,就执行缩进的代码,打印“带伞出门”;如果不是,就直接跳过。
2. 双分支:如果……否则……
age = 16 if age >= 18: print("成年人,可以上网") else: print("未成年人,请在家长陪同下上网") |
这里age=16,条件不成立,所以执行else后面的代码,输出“未成年人,请在家长陪同下上网”。
再举个例子判断成绩是否及格
score = 75 if score >= 60: print("恭喜你,及格了!") else: print("别灰心,下次加油!") |
75≥60,条件成立,输出“恭喜你,及格了!”
3. 多分支:如果……否则,如果……否则……
score = 85 if score >= 90: print("A级") elif score >= 80: print("B级") elif score >= 70: print("C级") elif score >= 60: print("D级") else: print("E级") |
这里score=85,先判断是否≥90?不成立;再判断是否≥80?成立,所以输出“B级”,后面的就不看了。
循环结构——重复是力量
循环结构就是重复执行某段代码,直到满足某个条件才停止。就像你每天背单词,背完50个才休息。
生活中的例子背单词:
重复:看单词 → 记意思 → 默写
条件:记住50个为止
1. for循环——适合知道要重复几次
例子1输出5次“你好”
for i in range(5): print("你好") |
输出:
你好 你好 你好 你好 你好 |
range(5)生成0,1,2,3,4这5个数字,循环就执行5次。
例子2输出1到5
for i in range(1, 6): print(i) |
输出:1,2,3,4,5
range(1,6)生成1到5,注意包含1,不包含6。
例子3遍历字符串
for char in "Python": print(char) |
输出每个字母:P、y、t、h、o、n
2. while循环——适合不知道要重复几次
例子猜数字游戏
import random target = random.randint(1, 10) guess = 0 while guess != target: guess = int(input("猜猜我心里想的数字(1-10):")) if guess < target: print("猜小了") elif guess > target: print("猜大了") print("恭喜你,猜对了!") |
你不知道要猜几次才能中,所以用while循环,直到猜对才结束。
循环的两个重要命令
break:立即结束整个循环
for i in range(1, 6): if i == 3: break # 遇到3就退出 print(i) |
输出:1,2
continue:跳过当前这一次,继续下一次
for i in range(1, 6): if i == 3: continue # 跳过3 print(i) |
输出:1,2,4,5
小心无限循环!
# 错误例子:忘记让条件变化 i = 1 while i <= 5: print(i) # 忘记写 i = i + 1 # 程序会一直输出1,永远停不下来 |
如果不小心写出了无限循环,可以按Ctrl+C 强制终止程序。
三种结构一起用——实战例子
例子1:统计1到10中偶数的个数
count = 0 for i in range(1, 11): # 循环1到10 if i % 2 == 0: # 判断是否是偶数 count = count + 1 # 是偶数就加1 print(f"1到10中偶数有{count}个") # 输出结果 |
运行结果:1到10中偶数有5个
这里三种结构都用上了:
顺序:代码从上往下执行
循环:for i in range(1,11)让i从1变到10
分支:if i % 2 == 0判断每个数是不是偶数
例子2:打印乘法表
for i in range(1, 4): # 外层循环 for j in range(1, 4): # 内层循环 print(f"{i}×{j}={i*j}", end=" ") print() # 换行 |
输出:
1×1=1 1×2=2 1×3=3
2×1=2 2×2=4 2×3=6
3×1=3 3×2=6 3×3=9
……
这就是循环嵌套——循环里面还有循环。
三种结构对比
按步骤执行 | 起床→刷牙→吃饭 | 没有特定关键字 | |
看情况选择 | 下雨带伞,晴天戴帽 | if、else、elif | |
重复做事 | 每天背单词 | for、while |
三种控制结构就像积木:
顺序是基础,把代码一块块摆好
分支让程序有判断力
循环让程序有耐力
掌握了这三种结构,你就能写出解决各种问题的程序了。多练习,多思考,很快你就会发现——编程其实没那么难!
动手试试吧
1. 顺序结构练习:写代码计算长方形的面积(长10,宽5)
2. 分支结构练习:输入一个数,判断它是正数、负数还是零
3. 循环结构练习:输出1到10中所有能被3整除的数
4. 综合练习:猜数字游戏——程序随机生成1-10的数,你有3次机会猜
【上周答案公布】找出以下代码程序的错误
age = 20 if age >= 18: print("成年人") #未缩进 print("可以上网") #未缩进 |
score = 85 if score >= 60 #少: print("及格") else #少: print("不及格") |
name = input("请输入姓名) #双引号未配对 if name = "张三" #少: print("你好,张三") |
精彩回顾:
一起学Python(003):Python代码书写规则:那些让程序崩溃的“小细节”
一起学Python(002):计算机的“数字秘密”——0和1如何统治世界?
一起学Python(001):为什么文科生也要学Python?
欢迎【点赞】+【转发】❤️
