Python 条件判断(if/else/elif)
·
Python 的条件判断是让程序根据不同情况执行不同代码的核心语法,最常用的是 if、elif、else 语句。
一、基础语法
# 1. 单个条件判断
if 条件:
条件成立时执行的代码
# 2. 二选一判断
if 条件:
条件成立时执行
else:
条件不成立时执行
# 3. 多条件判断(最常用)
if 条件1:
条件1成立执行
elif 条件2:
条件2成立执行
elif 条件3:
条件3成立执行
else:
所有条件都不成立时执行
核心规则
- 缩进必须正确:条件下的代码要缩进 4 个空格(Python 强制要求)
- 冒号不能丢:
if/elif/else结尾必须加: - 执行顺序:从上到下判断,只要一个条件满足,后面的都不执行
二、超简单示例
1. 最简单的 if
age = 18
if age >= 18:
print("已成年")
2. if + else(二选一)
score = 60
if score >= 60:
print("及格")
else:
print("不及格")
3. if + elif + else(多条件)
score = 85
if score >= 90:
print("优秀")
elif score >= 80:
print("良好") # 这个条件满足,执行这里
elif score >= 60:
print("及格")
else:
print("不及格")
三、常用判断条件(运算符)
| 符号 | 含义 | 示例 |
|---|---|---|
== | 等于 | a == 10 |
!= | 不等于 | a != 10 |
> | 大于 | a > 10 |
< | 小于 | a < 10 |
>= | 大于等于 | a >= 10 |
<= | 小于等于 | a <= 10 |
多条件组合(and /or/not)
# and:两个条件都满足
if 18 <= age <= 60:
print("青壮年")
# or:满足一个即可
if score > 90 or age < 12:
print("特殊优待")
# not:取反
if not is_weekend:
print("要上班")
四、特殊判断(空值、真假)
Python 中这些值会被判定为 False:False、0、""(空字符串)、[](空列表)、{}(空字典)、None
name = ""
if not name: # 判断空字符串
print("名字不能为空")
五、一行简写(三元运算符)
适合简单的二选一判断:
age = 20
result = "成年" if age >= 18 else "未成年"
print(result) # 输出:成年
总结
- 基础结构:
if → elif → else,从上到下匹配 - 必须写
:,代码必须缩进 - 用
== > < >= <=做比较,and/or/not组合条件 - 空值、0、空容器会被判定为假
一、基础题(5 道)
题目
- 定义变量
num = 15,判断数字是否大于 10,满足则打印数字大于10。 - 定义变量
age = 16,使用if-else判断是否成年(18 岁及以上为成年),输出对应结果。 - 定义分数
score = 72,按规则评级:≥90 优秀、≥80 良好、≥60 及格,其余不及格,用if-elif-else实现。 - 变量
a = 8,b = 5,判断a是否不等于b,成立则打印两者不相等。 - 变量
pwd = "",判断密码为空时,打印密码不能为空。
# 1
num = 15
if num > 10:
print("数字大于10")
# 2
age = 16
if age >= 18:
print("已成年")
else:
print("未成年")
# 3
score = 72
if score >= 90:
print("优秀")
elif score >= 80:
print("良好")
elif score >= 60:
print("及格")
else:
print("不及格")
# 4
a = 8
b = 5
if a != b:
print("两者不相等")
# 5
pwd = ""
if not pwd:
print("密码不能为空")
二、进阶题(逻辑组合 and/or/not,4 道)
题目
- 年龄
age = 25,判断是否在 18~30 岁 之间,是则打印符合条件。 - 有两门成绩
math = 55,english = 65,任意一门≥60 分 就打印至少一门及格。 - 变量
flag = False,用not取反判断,满足则打印状态为真。 - 数字
n = 22,判断:大于 10 并且 小于 30,同时不是偶数,满足则打印符合要求。
参考答案
# 1
age = 25
if 18 <= age <= 30:
print("符合条件")
# 2
math = 55
english = 65
if math >= 60 or english >= 60:
print("至少一门及格")
# 3
flag = False
if not flag:
print("状态为真")
# 4
n = 22
if n > 10 and n < 30 and n % 2 != 0:
print("符合要求")
三、综合应用题(2 道)
题目
- 输入一个数字(直接赋值
num = -6),判断正数、负数、零,分别输出对应文字。 - 会员折扣规则:
- 消费金额
money = 800 - 金额 ≥ 1000:8 折
- 500 ≤ 金额 < 1000:9 折
- <500:不打折计算并输出最终应付金额
- 消费金额
# 1
num = -6
if num > 0:
print("正数")
elif num < 0:
print("负数")
else:
print("零")
# 2
money = 800
if money >= 1000:
res = money * 0.8
elif money >= 500:
res = money * 0.9
else:
res = money
print(f"应付金额:{res}")
四、拓展:三元表达式练习(2 道)
用一行三元运算完成:
x = 20,判断奇偶,输出偶数或奇数。height = 120,身高≥120 输出需要购票,否则输出免票。
参考答案
# 1
x = 20
res1 = "偶数" if x % 2 == 0 else "奇数"
print(res1)
# 2
height = 120
res2 = "需要购票" if height >= 120 else "免票"
print(res2)
更多推荐



所有评论(0)