Python 中的控制流程:掌握程序的逻辑跳转

在编程中,控制流程(Control Flow)决定了代码的执行顺序。通过条件判断、循环和流程控制语句,我们可以让程序根据不同的情况做出决策、重复执行任务,从而实现复杂的功能。

本文将详细介绍 Python 中三大核心控制结构:

  • ✅ 条件语句(if / elif / else
  • ✅ 循环语句(forwhile
  • ✅ 流程控制关键字(breakcontinue

一、条件语句:让程序"做决定"

条件语句用于根据某个条件是否成立来决定执行哪段代码。它的基本结构是 ifelif(else if 的缩写)、else

1. 基本语法

if 条件:

条件为 True 时执行的代码

elif 另一个条件:

上一个条件不满足,且当前条件为 True 时执行

else:

所有条件都不满足时执行

📌 注意:Python 使用缩进(通常为 4 个空格)表示代码块,而不是大括号 {}

2. 示例:判断成绩等级

score = 85

if score >= 90:

print("优秀")

elif score >= 80:

print("良好")

elif score >= 70:

print("中等")

elif score >= 60:

print("及格")

else:

print("不及格")

输出结果:

复制代码
良好

3. 多条件组合:使用逻辑运算符

  • and:两个条件都为真才返回 True
  • or:至少一个为真即返回 True
  • not:取反

age = 20

has_license = True

if age >= 18 and has_license:

print("可以开车")

else:

print("不能开车")


二、循环语句:重复执行任务

当需要多次执行相同或相似的操作时,就可以使用循环 。Python 提供两种主要循环方式:for 循环和 while 循环。

1. for 循环:遍历序列

适用于已知循环次数或要遍历列表、字符串、范围等情况。

基本语法:

for 变量 in 可迭代对象:

执行代码

示例 1:遍历列表

fruits = ["苹果", "香蕉", "橙子"]

for fruit in fruits:

print("我喜欢", fruit)

输出:

复制代码
我喜欢 苹果
我喜欢 香蕉
我喜欢 橙子
示例 2:使用 range() 函数生成数字序列

range(start, stop, step) 可以生成一个整数序列。

for i in range(1, 6): # 从 1 到 5

print(i)

输出:

复制代码
1
2
3
4
5

💡 小技巧:range(5) 等价于 0, 1, 2, 3, 4


2. while 循环:条件满足时持续执行

当不知道具体循环次数,但知道结束条件时,使用 while 循环。

基本语法:

while 条件:

条件为 True 时不断执行

示例:倒计时程序

count = 3

while count > 0:

print(count)

count -= 1 # 相当于 count = count - 1

print("发射!")

输出:

复制代码
3
2
1
发射!

⚠️ 注意避免无限循环:确保循环体内有改变条件的语句,否则会一直运行下去。

❌ 错误示例:无限循环

while True:

print("停不下来了...")


三、break 与 continue:精确控制循环

有时我们希望提前退出循环或跳过某次迭代,这时就需要用到 breakcontinue

1. break:立即终止整个循环

一旦遇到 break,循环立刻结束,后续代码继续执行。

示例:查找数字 7

numbers = [1, 3, 5, 7, 9, 11]

for num in numbers:

if num == 7:

print("找到数字 7!")

break

print("检查:", num)

输出:

复制代码
检查: 1
检查: 3
检查: 5
找到数字 7!

🔍 循环在找到目标后立即停止,不再检查后面的元素。


2. continue:跳过本次循环,进入下一次

遇到 continue 时,当前循环体剩余部分被跳过,直接进入下一轮循环。

示例:打印奇数

for i in range(1, 6):

if i % 2 == 0:

continue # 如果是偶数,跳过

print(i)

输出:

复制代码
1
3
5

continue 不会终止循环,只是"跳过"当前这一次。


四、综合案例:猜数字小游戏

结合条件语句、循环和流程控制,我们来写一个简单的"猜数字"游戏。

import random

secret_number = random.randint(1, 10)

guess = None

print("我已经想好了一个 1 到 10 之间的数字,你来猜猜看吧!")

while guess != secret_number:

guess = int(input("请输入你的猜测:"))

if guess < secret_number:

print("太小了,再试试")

elif guess > secret_number:

print("太大了,再试试")

else:

print("🎉 恭喜你,猜对了!")

break # 可省略,因为条件不成立也会退出

这个程序展示了:

  • 使用 while 实现重复输入
  • 使用 if/elif/else 判断大小
  • 使用 break 在正确时可选退出

五、总结:控制流程要点回顾

结构 关键字 用途
条件语句 if, elif, else 根据条件选择执行路径
循环语句 for 遍历序列或指定次数循环
循环语句 while 条件为真时持续执行
控制关键字 break 立即退出循环
控制关键字 continue 跳过当前轮次,继续下一轮

六、学习建议

  1. 多动手练习:尝试修改示例代码,观察输出变化。
  2. 画流程图辅助理解:复杂的逻辑可以用图形化方式理清思路。
  3. 从小项目入手:如计算器、成绩统计、简单游戏等,巩固控制流程知识。

🎯 记住:掌握控制流程,就掌握了程序的"大脑"------它决定了程序如何思考与行动。

相关推荐
Lam㊣1 分钟前
服务器端口转发的方法
linux·服务器
ChangYan.3 分钟前
Windows命令行(cmd)下快速查找文件路径(类似Linux下find命令)
linux·运维·服务器
小王和八蛋3 分钟前
前端存储与离线应用实战:Cookie、LocalStorage、PWA 及 Service Worker 核心知识点
前端·javascript
Learner12 分钟前
Python异常处理
java·前端·python
tao35566716 分钟前
VS Code登录codex,报错(os error 10013)
java·服务器·前端
军军君0119 分钟前
Three.js基础功能学习七:加载器与管理器
开发语言·前端·javascript·学习·3d·threejs·三维
哈__20 分钟前
React Native 鸿蒙开发:内置 Share 模块实现无配置社交分享
javascript·react native·react.js
小杰帅气23 分钟前
神秘的环境变量和进程地址空间
linux·运维·服务器
胖咕噜的稞达鸭25 分钟前
进程间的通信(1)(理解管道特性,匿名命名管道,进程池,systeam V共享内存是什么及优势)重点理解代码!
linux·运维·服务器·数据库
hui函数27 分钟前
Python系列Bug修复|如何解决 pip install 安装报错 Backend ‘setuptools.build_meta’ 不可用 问题
python·bug·pip