在编程世界中,条件判断(Condition Statement) 是让程序拥有"思考能力"的关键。 通过判断不同的条件,程序可以执行不同的代码,从而做出"决策"。
在 Python 中,条件判断主要依靠 if、elif、else 三个关键字来实现。 本章将带你从零开始掌握 Python 的条件结构,并通过实例理解其背后的逻辑。
一 为什么需要条件判断
设想你写一个自动售票程序:
- 如果用户年龄小于 12 岁,显示「儿童票」
- 如果年龄在 12 到 60 岁之间,显示「成人票」
- 否则,显示「老年票」
这就是典型的"根据条件执行不同操作"的逻辑。 程序不能只"计算",它还要能"判断"。
二 if 语句的基本结构
Python 使用 if 语句进行条件判断,语法非常直观:
python
if 条件表达式:
代码块
- 条件表达式:任何返回布尔值(True/False)的表达式。
- 代码块:当条件为真时执行的语句。
- 冒号(:) 表示代码块开始。
- 缩进(通常 4 个空格) 表示从属关系。
示例:
python
age = 18
if age >= 18:
print("你已成年")
输出:
你已成年
如果条件不满足,程序直接跳过代码块,不执行。
三 if...else 结构
当条件为假时,我们通常希望程序执行另一段代码,这就用到 else:
python
if 条件:
语句块1
else:
语句块2
示例:
python
age = int(input("请输入年龄:"))
if age >= 18:
print("你已成年")
else:
print("你未成年")
运行示例:
请输入年龄:16
你未成年
四 if...elif...else 多分支结构
有时需要判断多个条件,例如根据分数给出等级:
python
if 分数 >= 90:
优
elif 分数 >= 80:
良
elif 分数 >= 60:
及格
else:
不及格
示例:
python
score = int(input("请输入成绩:"))
if score >= 90:
print("优秀")
elif score >= 80:
print("良好")
elif score >= 60:
print("及格")
else:
print("不及格")
运行示例:
请输入成绩:85
良好
✅ 提示
elif可以有多个;else最多只能有一个,也可以省略。
五 条件表达式的真与假
在 Python 中,不仅仅是布尔值可以用作条件。 任何"可求值的对象"都能被判断真假:
| 表达式 | 结果 |
|---|---|
0, 0.0, '', [], {}, None |
False |
| 其他值 | True |
示例:
python
name = ""
if name:
print("你输入了名字")
else:
print("名字不能为空")
输出:
名字不能为空
六 嵌套判断
有时条件中还需要继续判断,可以嵌套使用 if。
示例:
python
age = int(input("请输入年龄:"))
if age >= 18:
gender = input("请输入性别(男/女):")
if gender == "男":
print("欢迎参加男士组比赛")
else:
print("欢迎参加女士组比赛")
else:
print("未成年组暂不参赛")
七 条件运算符(三元表达式)
如果只是根据条件选择一个值,可以使用更简洁的写法:
python
结果 = 表达式1 if 条件 else 表达式2
示例:
python
age = 20
msg = "成年" if age >= 18 else "未成年"
print(msg)
输出:
成年
✅ 适用于简单选择判断,代码更紧凑。
八 多条件组合
可以使用逻辑运算符 and、or、not 组合多个条件。
示例 1:使用 and
python
age = 20
score = 85
if age >= 18 and score >= 60:
print("符合条件")
示例 2:使用 or
python
if age < 18 or score < 60:
print("不符合要求")
示例 3:使用 not
python
is_vip = False
if not is_vip:
print("普通用户无法进入VIP区")
九 综合实战:判断闰年
编写一个程序,判断某年是否为闰年。 规则如下:
- 能被 4 整除但不能被 100 整除;
- 或者能被 400 整除。
示例:
python
year = int(input("请输入年份:"))
if (year % 4 == 0 and year % 100 != 0) or (year % 400 == 0):
print(f"{year} 是闰年")
else:
print(f"{year} 不是闰年")
运行示例:
yaml
请输入年份:2024
2024 是闰年
十 实战案例:成绩评语系统
python
score = int(input("请输入成绩:"))
if score >= 90:
print("表现优异,继续保持!")
elif score >= 80:
print("成绩良好,还有提升空间!")
elif score >= 60:
print("勉强及格,需加油!")
else:
print("不及格,请认真复习!")
输出示例:
请输入成绩:75
成绩良好,还有提升空间!
十一 小结
| 结构 | 作用 | 示例 |
|---|---|---|
if |
判断条件是否为真 | if age > 18: |
if...else |
条件为假时执行另一分支 | if cond: ... else: ... |
if...elif...else |
多条件判断 | if a>0 elif a==0 else |
| 嵌套 if | 条件中再判断 | if cond1: if cond2: |
| 条件表达式 | 简洁的单行判断 | a if cond else b |
✅ 总结一句话
if...else是程序逻辑的基石,让 Python 能根据"情况"去执行不同的结果。
掌握了条件判断,程序就能"有智慧"地做选择。