当前位置:首页>python>第5关:if语句与条件判断——让Python学会"做选择题"

第5关:if语句与条件判断——让Python学会"做选择题"

  • 2026-08-22 12:56:53
第5关:if语句与条件判断——让Python学会"做选择题"

点击蓝字

关注我们

第5关:if语句与条件判断——让Python学会"做选择题"

5.1 核心概念:Python的"决策大脑"

家人们,前面学的变量、列表、字典,都是让Python"存东西""整理东西",但如果想让Python"自己做决定"——比如判断成绩是否及格、用户输入是否正确、数值大小关系,就必须解锁"if语句"这个"决策神器"!

你以为if语句是"高深逻辑"?其实它和生活中的"选择场景"一模一样!比如早上起床的决策:"如果今天下雨,就带雨伞;如果不下雨,就带太阳帽"——Python的if语句就是把这种"如果…就…"的逻辑,翻译成代码让电脑执行。

举个最简单的例子:判断一个数字是否大于10

```python

num = 15

if num > 10:

    print("这个数字比10大!")

```

代码逻辑翻译过来就是:"给电脑一个数字15,如果15大于10,就打印'这个数字比10大!'"——电脑会乖乖执行判断,输出结果,是不是比想象中简单?

5.1.1 if语句的三步结构

1. 写 `if` + 判断条件 + 冒号 `:`

2. 换行缩进(一定要缩进!Python靠缩进识别代码块)

3. 写满足条件时要执行的代码

💡 新手口诀:"if带冒号,代码要缩进",不然电脑会一脸懵:"你到底让我什么时候执行这段代码?"

5.1.2 新手避坑指南

| 错误类型 | 错误示例 | 报错信息 |

|---------|---------|---------|

| 忘加冒号 | `if num > 10` | SyntaxError |

| 缩进混乱 | 有的2空格,有的4空格 | IndentationError |

Python对格式可是个"强迫症",必须统一!

5.2 二选一:if-else语句

if语句只能处理"满足条件"的情况,如果想处理"满足"和"不满足"两种情况——比如"成绩及格就打印'通过',不及格就打印'补考'",就需要"if-else语句",相当于生活中的"要么…要么…"。

**实战案例:判断考试成绩是否及格**

```python

score = 75

if score >= 60:

    print("考试通过!")

else:

    print("需要补考哦~")

```

5.2.1 else的使用技巧

- 不用写判断条件!它默认对应"if条件不成立"的所有情况

- 不管分数是59、30还是0,都会执行else的内容

- 不用再写 `if score < 60`,省了很多代码

⚠️ 新手踩坑点:else后面加了判断条件!比如 `else score < 60:`,这是错误的,else不能带条件,带条件的是后面要学的elif——别让else"超纲"干活!

5.3 多选项决策:if-elif-else语句

生活中很多选择不止两个,比如"成绩90分以上是优秀,80-89是良好,60-79是及格,60以下是不及格"——这时候就需要"if-elif-else语句",相当于"如果…否则如果…否则…",能处理多个条件判断,堪称Python的"决策树"。

实战案例:给成绩评级

```python

score = 88

if score >= 90:

    print("评级:优秀")

elif score >= 80:

    print("评级:良好")

elif score >= 60:

    print("评级:及格")

else:

    print("评级:不及格")

```

5.3.1 代码执行逻辑

按顺序判断,直到找到满足的条件:

1. 先判断是否≥90,满足就输出优秀

2. 不满足就判断是否≥80,满足就输出良好

3. 还不满足就判断是否≥60,满足就输出及格

4. 都不满足就执行else,输出不及格

5.3.2 elif使用注意事项

1. 条件顺序不能乱!

错误示范:先写 `elif score >= 60`,再写 `elif score >= 80`

后果:88分只会触发第一个满足的条件(≥60),输出"及格",这就错了!

正确做法:必须按"从高到低"或"从低到高"的顺序写条件

2. 可以有多个elif

想加"60-69是及格,70-79是中等"?直接加!数量不限,按需添加。

3. else可以省略

如果所有情况都用elif覆盖了,比如"1-3是春季,4-6是夏季,7-9是秋季,10-12是冬季",没有"其他情况",就可以不用写else。

⚠️ 新手踩坑点:条件重叠!比如 `if score > 80` 和 `elif score > 70`,85分会同时满足两个条件,但Python只会执行第一个满足的if,后面的elif不会再判断——所以条件必须是"互斥"或"递进"的,不能重叠混乱。

5.4 进阶技巧:让代码更简洁优雅

5.4.1 逻辑运算符:同时判断多个条件

想同时判断多个条件?不用写多个if,用逻辑运算符就能搞定:

| 运算符 | 含义 | 示例 |

|-------|------|------|

| `and` | 且(全部满足) | `if score >= 60 and score <= 80:` |

| `or` | 或(满足一个) | `if age >= 18 or has_id == True:` |

| `not` | 非(反转结果) | `if not score < 60:` 相当于 `if score >= 60` |

💡 优先级提示:`and` 比 `or` 优先级高,比如 `a or b and c` 会先算 `b and c`。想改变顺序?用括号 `(a or b) and c`

5.4.2 简洁赋值:一行搞定条件赋值

不用写完整的if-else,一行代码就能搞定:

```python

status = "通过" if score >= 60 else "失败"

```

相当于把if-else"压缩"成一行,简洁又高效,适合简单的赋值场景。

5.4.3 成员运算符:判断元素是否在容器中

比写多个 `==` 判断快10倍,堪称"容器判断神器"!

```python

#判断字符串是否包含某个字符

if "a" in "apple":

    print("包含'a'")

#判断元素是否在列表

if "苹果" in shopping_list:

    print("购物清单里有苹果")

#判断键是否在字典

if "name" in student:

    print("字典里有姓名信息")

```

5.5 本章小结

| 知识点 | 核心记忆点 | 生活类比 |

|-------|-----------|---------|

| if语句 | if + 条件 + 冒号,代码要缩进 | 如果下雨,就带伞 |

| if-else | 非此即彼二选一 | 要么带伞,要么带帽 |

| if-elif-else | 多条件决策树 | 成绩分级、季节判断 |

| 逻辑运算符 | and/or/not组合判断 | 且、或、非 |

| 简洁赋值 | 一行写if-else | 浓缩精华 |

| 成员运算符 | in/not in判断包含 | 查字典、查清单 |

闯关成功! 现在你已经掌握了让Python"自己做选择"的核心技能,下一关我们将解锁"循环语句",让Python帮你"重复干活"不喊累!

扫码关注我们

知识奇妙世界

最新文章

随机文章