第五篇 Python基础语法-流程控制(条件与循环)
让程序学会"做决定"和"重复劳动"
一、为什么需要流程控制?
- 现实场景:红绿灯判断、每日重复工作
- 程序场景:根据条件执行不同代码/自动重复特定操作
二、条件语句(if...elif...else)
1. 基础结构
if 条件1:
# 条件1成立时执行
elif 条件2:
# 条件2成立时执行
else:
# 以上条件都不成立时执行
2. 实战案例
# 判断考试成绩
score = 85
if score >= 90:
print("优秀!奖励游戏时间")
elif score >= 60:
print("合格,继续努力")
else:
print("要加油哦!")
3. 特别注意
- 缩进决定代码归属(4个空格)
- 条件表达式后必须加冒号:
- 可省略elif/else部分
三、循环语句
1. for循环:已知次数的循环
# 遍历列表
fruits = ["苹果", "香蕉", "橙子"]
for fruit in fruits:
print(f"今天吃{fruit}")
# 搭配range使用
for i in range(3): # 0,1,2
print(f"这是第{i+1}次告白")
2. while循环:满足条件就循环
# 倒计时小程序
count = 5
while count > 0:
print(count)
count -= 1
print("发射!")
3. 循环控制关键字
- break:立即终止循环
num = 1
while True:
print(num)
if num >= 5:
break # 当数字到5时跳出循环
num += 1
- continue:跳过本次循环
# 只打印偶数
for i in range(10):
if i % 2 != 0:
continue
print(i)
四、综合应用场景
1. 智能体重建议
height = 1.75
weight = 70
bmi = weight / (height ** 2)
if bmi < 18.5:
status = "偏瘦"
elif 18.5 <= bmi < 24:
status = "正常"
else:
status = "偏胖"
print(f"您的BMI指数为{round(bmi,1)},属于{status}范围")
2. 自动生成乘法表
for i in range(1, 10):
for j in range(1, i+1):
print(f"{j}x{i}={i*j}", end="\t")
print() # 换行
五、避坑指南
- 避免无限循环(测试while循环时先写退出条件)
- 不要忘记冒号:和缩进
- 循环变量命名要有意义(避免总是用i/j)
动手练习
- 写一个成绩转换程序:输入分数,输出等级(A/B/C/D)
- 计算1-100所有奇数的和
- 打印如下图案:
*
**
***
****
*****
(下期公布参考答案)
学习建议
- 多用流程图辅助设计逻辑
- 从简单案例开始,逐步增加复杂度
- 善用调试工具观察程序执行过程
下一篇预告:Python基础语法-函数(代码复用的艺术)