适合零基础读者,建议收藏后慢慢学习 📚
一、什么是条件语句?
条件语句让程序能够根据条件做出判断,就像生活中的"如果…就…":
Python 中使用 if、elif、else 来实现。
二、基础篇:单条件判断
2.1 最简单的 if 语句
age = 18
if age >= 18:
print("你已成年,可以进入网吧")
输出:
你已成年,可以进入网吧
💡 注意:Python 用缩进(通常是4个空格)表示代码块,这是 Python 的特色!
2.2 if…else 二选一
score = 55
if score >= 60:
print("恭喜你,考试及格!")
else:
print("很遗憾,需要补考")
流程图理解:
图片来源:Problem Solving with Python
三、进阶篇:多条件判断
3.1 if…elif…else 多分支
score = 85
if score >= 90:
grade = "A"
elif score >= 80:
grade = "B"
elif score >= 70:
grade = "C"
elif score >= 60:
grade = "D"
else:
grade = "F"
print(f"你的成绩等级是:{grade}")
输出:
你的成绩等级是:B
⚠️ 重要:条件是从上到下判断的,满足一个就会跳出,所以顺序很重要!
错误示范(顺序颠倒):
if score >= 60: # 85也满足这个条件!
grade = "D"
elif score >= 90: # 这行永远不会执行
grade = "A"
3.2 实际案例:BMI 计算器
height = 1.75# 米
weight = 70# 公斤
bmi = weight / (height ** 2)
if bmi < 18.5:
result = "偏瘦"
elif bmi < 24:
result = "正常"
elif bmi < 28:
result = "偏胖"
else:
result = "肥胖"
print(f"你的BMI是:{bmi:.1f},属于:{result}")
输出:
你的BMI是:22.9,属于:正常
四、高级篇:条件组合与嵌套
4.1 逻辑运算符:and、or、not
| | |
|---|
and | | age > 18 and age < 60 |
or | | day == "周六" or day == "周日" |
not | | not is_raining |
# 案例:判断是否能购买优惠票
age = 65
is_student = False
# 老人(60+)或学生可以优惠
if age >= 60or is_student:
print("享受优惠票价:50元")
else:
print("普通票价:100元")
4.2 嵌套条件(条件里的条件)
# 案例:登录系统
username = "admin"
password = "123456"
is_active = True
if username == "admin":
if password == "123456":
if is_active:
print("登录成功!欢迎回来")
else:
print("账号已被禁用")
else:
print("密码错误")
else:
print("用户名不存在")
🎯 建议:嵌套不要超过 3 层,否则可读性会变差。复杂逻辑建议拆分成函数。
嵌套逻辑流程图示例:
图片来源:Strobe Corp
4.3 简化写法:三元表达式
# 传统写法
if age >= 18:
status = "成年"
else:
status = "未成年"
# 简化为一行(三元表达式)
status = "成年"if age >= 18else"未成年"
五、实战篇:综合案例
5.1 智能计算器(带条件判断)
# 简单的计算器,包含错误处理
num1 = float(input("请输入第一个数字:"))
operator = input("请输入运算符(+ - * /):")
num2 = float(input("请输入第二个数字:"))
if operator == "+":
result = num1 + num2
elif operator == "-":
result = num1 - num2
elif operator == "*":
result = num1 * num2
elif operator == "/":
if num2 != 0: # 嵌套判断:除数不能为0
result = num1 / num2
else:
result = "错误:除数不能为0"
else:
result = "错误:不支持的运算符"
print(f"计算结果:{result}")
5.2 猜数字游戏
import random
secret = random.randint(1, 100)
attempts = 0
print("猜一个 1-100 之间的数字")
whileTrue:
guess = int(input("你的猜测:"))
attempts += 1
if guess == secret:
print(f"🎉 恭喜你猜对了!用了 {attempts} 次")
break
elif guess < secret:
print("📈 太小了,再大一点")
else:
print("📉 太大了,再小一点")
六、常见错误与避坑指南
❌ 错误 1:忘记缩进
if x > 0:
print("正数") # IndentationError!
❌ 错误 2:用错比较运算符
# 错误:赋值运算符
if x = 5: # SyntaxError!
# 正确:比较运算符
if x == 5:
❌ 错误 3:判断空值
# 不推荐
if name == "":
# 推荐(Pythonic)
ifnot name:
文字版总结:
条件语句结构:
├── if → 单一条件
├── if-else → 二选一
├── if-elif-else → 多选一
└── 嵌套 if → 复杂逻辑
关键概念:
├── 缩进表示代码块
├── 条件顺序影响结果
├── and/or/not 组合条件
└── 三元表达式简化代码
八、课后练习
- 基础
- 进阶
- 挑战