不为失败找理由,只为成功找方法。所有的不甘,因为还心存梦想,所以在你放弃之前,好好拼一把,只怕心老,不怕路长。
python系列之控制语句
一、前言(为什么?)
前面已经学习了:
本篇文章会继续讲解python系列之流程控制语句,那么什么是流程控制语句呢,为什么需要流程控制语句呢,接下来举个例子:
想象你要教机器人做早餐:当冰箱有鸡蛋时做煎蛋,否则煮麦片;重复搅拌咖啡直到混合均匀;如果面包烤焦了立即停止… 这些"当…就"、"重复…直到"的逻辑,正是编程中的控制语句!它们让程序具备智能决策和重复执行的能力。
流程控制语句:是控制程序的执行的语句,一共有两大类:条件语句和循环语句。
二、条件语句:程序的决策者
条件语句:让程序根据条件有选择性的执行语句。
1、 if语句基础
语法结构:
if 条件:
代码块...
示例:体温检测仪
# 定义一个变量作为基础体温检测的参数
temperature = 36.8
# 通过条件语句判断体温是否正常
if temperature > 37.5:
print("需要复测体温!")
print("请到隔离区等待")
📌 注意细节:
- 条件后的冒号
:
不能省略 - 同一代码块要保持相同缩进(推荐4个空格或用1Tab)
- 支持比较运算符:
>
,<
,==
,!=
,>=
,<=
2、 多条件判断(elif)
语法结构
if 条件1:
满足条件执行该代码块...
elif 条件2:
满足条件执行该代码块...
elif 条件3:
满足条件执行该代码块...
else:
不满足以上条件执行该代码块
示例:评估成绩
# 成绩评级系统
# 一个存储成绩的变量
score = 85
# 如果大于等于90,则为A级
if score >= 90:
print("A")
elif 80 <= score < 90:
# 如果大于等于80而小于90则为B级
print("B")
elif 70 <= score < 80:
# 如果大于等于70而小于80则为C级
print("C")
else:
# 以上不满足则为D级
print("D")
输出结果:
🔄 执行流程:
- 检查第一个
if
条件,必须存在的入口。 - 依次检查后续
elif
,可多个的中间条件。 - 所有条件都不满足时执行
else
,最终兜底选项。
3、 嵌套条件判断:套娃就是这样来的
语法结构:
if 条件:
内部嵌套
if 条件:
条件满足则执行...
elif 条件:
条件满足则执行...
else:
以上不满足则执行
else:
内部嵌套
if 条件:
条件满足则执行...
elif 条件:
条件满足则执行...
else:
以上不满足则执行
示例:闰年判断
# 闰年判断
# 闰年分析:①能被4整除;②不能被100整除;③能被400整除的年份
year = 2025
# 首先判断能被4整除
if year % 4 == 0:
# 其次判断剩下的
if year % 100 != 0 or year % 400 == 0:
print("闰年")
else:
print("平年")
# 连4都不能被整除,直接视为平年
else:
print("平年")
三、循环语句:让重复工作自动化
1、for循环:明确次数的循环
语法结构:
for 遍历的元素 in 被遍历的序列:
代码逻辑块...
示例:遍历某仓库的库存信息
# 遍历仓库清单
shopping_list = ["苹果", "牛奶", "面包"]
for item in shopping_list:
print(f"物品名称:{item}")
运行结果:
🎯 适用场景:
- 遍历列表/元组/字符串等可迭代对象
- 已知循环次数的情况
2、while循环:条件驱动的循环
语法结构:
while 条件:
执行代码块...
示例:倒计时
# 倒计时程序
countdown = 5
while countdown > 0:
print(countdown)
# 每循环一次就对参数-1
countdown -= 1
print("发射!")
运行结果:
⚠️ 注意事项:
- 必须设置终止条件防止无限循环
- 适合不确定循环次数的场景
- 可使用break关键字提前退出
3、 循环控制三剑客
关键字 | 作用 | 示例 |
---|---|---|
break | 立即终止整个循环 | 发现错误时提前退出 |
continue | 跳过本次循环 | 遇到特定值时不处理 |
pass | 占位语句 | 保持代码结构完整性 |
接下来进行一系列的代码实操。
案例1:寻找第一个5的倍数(break:强制中止)
# 寻找第一个5的倍数
numbers = [2, 5, 12, 20, 33]
for num in numbers:
if num % 5 == 0:
print(f"找到:{num}")
break
运行结果:
案例2:打印十以内的偶数(continue:跳出当前)
print("打印10以内的偶数:")
# range(10)按照顺序生成数字,这里生成10以内的有序数字
for num in range(10):
if num % 2 != 0:
continue
print(num)
运行结果:
案例3:待开发占位符(pass:占位符)
# 这里定义了一个函数,后续会讲到
def future_feature():
pass # 先占个位置
四、综合应用实例
到此,学了那么多控制语句,实战可少不了,那么接下来咱们就来几个综合性的实例来比划比划。
案例1:智能客服菜单
# 使用while循环语句来控制程序的无限执行
while True:
# 给出用户提示
print("请选择服务:")
print("1. 账户查询 2. 转账 3. 退出")
# 输入语句,让用户有交互性
choice = input("输入选项:")
# 条件语句if进行判断
if choice == "1":
print("显示账户余额...")
elif choice == "2":
print("进入转账流程...")
elif choice == "3":
print("感谢使用!")
break
else:
print("输入无效,请重试!")
测试数据结果:
案例2:数据分析预处理(有一堆数据,把数字整理出来)
# 定义一堆数据
raw_data = [12, 15, "N/A", 18, 21, "null", 24]
# 用于存储的处理过的数据
clean_data = []
# 使用for循环进行遍历
for value in raw_data:
# 使用内置函数isinstance进行数据的校验
# 参数1:value是要处理的数据
# 参数2:类型,咱们需要数字整型int,即前面加个运算符not
if not isinstance(value, int):
# 跳过
continue
if value < 0:
pass # 待后续处理
else:
# 添加到存储容器中
clean_data.append(value)
# 打印数据
print("有效数据:", clean_data)
运行结果如下:
五、避坑指南
- 缩进错误:复制代码时注意保持缩进一致
- 无限循环:while循环必须设置退出条件
- 优先使用for循环:更安全更可控
- 避免深层次嵌套:超过3层就要考虑重构
- 修改迭代对象:不要在循环中修改正在遍历的列表
- 浮点数比较:避免直接用
==
比较浮点数 - 条件顺序:把严格的条件写在前面
六、结语
控制语句是赋予程序逻辑的灵魂。通过本篇文章的讲解,相信你已经掌握了:
- 条件判断的多种用法
- 两种循环的特点与适用场景
- 流程控制的关键技巧
- 实际应用的完整思路
有兴趣的话可以写一下如下练习:
- 打印九九乘法表
- 猜数字游戏
- 智能温度调节系统
在评论区分享你的代码,我们一起讨论优化!🚀
学习编程就像搭积木,控制语句就是连接积木的接口。多练习,多思考,你很快就能搭建出属于自己的程序大厦!