在编程中,我们经常需要让程序根据不同的情况做出不同的选择。比如“如果下雨,就带伞;如果不下雨,就不带伞”,这种“根据条件执行不同操作”的逻辑,在Python中通过if-else条件语句实现。
一、为什么需要if-else?¶
想象一下,如果没有条件语句,程序只能按固定顺序执行代码,无法应对复杂场景。比如:
- 判断一个数字是正数还是负数;
- 检查成绩是否及格;
- 根据天气决定是否穿外套。
这些场景都需要程序“先判断条件,再决定做什么”,而if-else就是实现这种逻辑的核心工具。
二、if-else的基本语法¶
Python的if-else语句用缩进表示代码块(同一条件下要执行的操作),语法结构如下:
if 条件:
# 条件成立时执行的代码(缩进4个空格或1个Tab)
操作1
elif 另一个条件: # 可选,可多个
# 第一个条件不成立,第二个条件成立时执行
操作2
else:
# 所有条件都不成立时执行
操作3
关键点:
- 冒号(:):每个条件后面必须加冒号,表示接下来是缩进的代码块;
- **缩进**:Python通过缩进来区分代码块,通常用4个空格缩进(不要用Tab,避免混乱);
- **条件判断**:条件是一个“真(True)”或“假(False)”的表达式,比如x > 5` 会返回True或False。
三、基础用法:if语句¶
场景:只判断一个条件,满足就执行,不满足就跳过。
示例1:判断数字是否大于5¶
# 定义一个变量
num = 7
# 如果num大于5,执行下面的代码
if num > 5:
print("这个数字比5大!") # 缩进的代码块
print("因为7确实大于5~") # 同一缩进下的多个操作
# 如果条件不成立,这里不会执行
print("结束判断") # 无论条件是否成立,都会执行
运行结果:
这个数字比5大!
因为7确实大于5~
结束判断
条件表达式:>(大于)、<(小于)、==(等于,注意是两个等号,不是一个!)、!=(不等于)、>=(大于等于)、<=(小于等于)。
四、二选一:if-else语句¶
场景:两个条件二选一,满足第一个条件执行A,否则执行B。
示例2:判断成绩是否及格¶
score = 75
if score >= 60: # 如果分数≥60
print("恭喜!你及格了!")
else: # 如果分数<60
print("很遗憾,你没及格~")
运行结果:
恭喜!你及格了!
如果 score = 55,结果会是“很遗憾,你没及格~”。
五、多条件判断:if-elif-else¶
场景:多个条件需要逐个判断,满足第一个符合的条件就执行,后续条件不再判断。
示例3:成绩等级划分¶
score = 85
if score >= 90: # 先判断是否≥90
print("优秀")
elif score >= 80: # 否则判断是否≥80
print("良好")
elif score >= 60: # 否则判断是否≥60
print("及格")
else: # 所有条件都不满足
print("不及格")
运行结果:
良好
注意:条件是从上到下依次判断的,一旦某条件成立,就不再执行后续判断。比如 score=95 会被第一个条件(≥90)匹配,不会执行后面的 良好。
六、常见问题与解决方法¶
- 忘记写冒号:每个条件后面必须加冒号(
:),否则会报错; - 缩进错误:Python严格依赖缩进来区分代码块,缩进不一致会导致
IndentationError; - 条件顺序错误:比如先判断“及格”再判断“优秀”,会导致“优秀”永远无法被识别(见示例3的反例);
- 比较运算符误用:比如用
=(赋值)代替==(判断等于),会导致逻辑错误。
七、综合练习¶
题目:根据输入的整数,判断它是正数、负数还是零。
# 输入一个整数
num = int(input("请输入一个整数:"))
if num > 0:
print(f"{num}是正数")
elif num < 0:
print(f"{num}是负数")
else:
print(f"{num}是零")
运行示例:
请输入一个整数:-3
-3是负数
总结¶
if-else条件语句是Python中最基础也最常用的逻辑控制工具,核心是通过条件判断让程序“智能决策”。记住以下几点:
- 用冒号(:)结尾,缩进表示代码块;
- 二选一用if-else,多条件用if-elif-else;
- 条件判断**从上到下**执行,先判断的条件会优先生效;
- 注意比较运算符(==、>、<等)和逻辑运算符(and、or、not`,后续会讲)的正确使用。
通过简单的例子多练习,很快就能熟练掌握if-else的用法啦!