python系列之流程控制语句:让程序学会思考的魔法

不为失败找理由,只为成功找方法。所有的不甘,因为还心存梦想,所以在你放弃之前,好好拼一把,只怕心老,不怕路长。

一、前言(为什么?)

前面已经学习了:

  1. python系列之注释与变量
  2. python系列之输入输出语句与数据类型
  3. 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")

输出结果:
在这里插入图片描述

🔄 执行流程:

  1. 检查第一个if条件,必须存在的入口。
  2. 依次检查后续elif,可多个的中间条件。
  3. 所有条件都不满足时执行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

运行结果:
5的倍数运行结果
案例2:打印十以内的偶数(continue:跳出当前)

print("打印10以内的偶数:")
# range(10)按照顺序生成数字,这里生成10以内的有序数字
for num in range(10):
    if num % 2 != 0:
        continue
    print(num)

运行结果:
10以内的偶数

案例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("输入无效,请重试!")

测试数据结果:
案例1测试结果

案例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)

运行结果如下:
有效数据运行结果

五、避坑指南

  1. 缩进错误:复制代码时注意保持缩进一致
  2. 无限循环:while循环必须设置退出条件
  3. 优先使用for循环:更安全更可控
  4. 避免深层次嵌套:超过3层就要考虑重构
  5. 修改迭代对象:不要在循环中修改正在遍历的列表
  6. 浮点数比较:避免直接用==比较浮点数
  7. 条件顺序:把严格的条件写在前面

六、结语

控制语句是赋予程序逻辑的灵魂。通过本篇文章的讲解,相信你已经掌握了:

  • 条件判断的多种用法
  • 两种循环的特点与适用场景
  • 流程控制的关键技巧
  • 实际应用的完整思路

有兴趣的话可以写一下如下练习:

  1. 打印九九乘法表
  2. 猜数字游戏
  3. 智能温度调节系统

在评论区分享你的代码,我们一起讨论优化!🚀

学习编程就像搭积木,控制语句就是连接积木的接口。多练习,多思考,你很快就能搭建出属于自己的程序大厦!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值