当前位置:首页>python>Python3入门系列 | Day 3: 条件判断——让代码自己做决策

Python3入门系列 | Day 3: 条件判断——让代码自己做决策

  • 2026-10-11 08:26:05
Python3入门系列 | Day 3: 条件判断——让代码自己做决策
昨天我们学了变量和数据类型,代码已经能"记住"东西了。但光能记住不够啊——代码还得会"思考"。

什么叫思考?就是根据不同的情况,做不同的事。

比如:

  • 如果今天下雨,带伞出门
  • 如果余额大于100,买杯奶茶
  • 如果成绩及格了,庆祝一下;没及格,复习

这种"如果……就……否则……"的逻辑,在编程里就叫 条件判断。

Python 的条件判断靠三个关键字:if、elif、else。今天我们就把它彻底搞明白。


1. 最简单的 if 判断

先看一个最基础的写法:

age = 18if age >= 18:print("你已经成年了")

运行结果:

你已经成年了

这里有个细节:if 后面跟的是一个条件表达式(age >= 18),然后冒号结尾,下一行缩进4个空格。

缩进是 Python 的灵魂。别的语言用花括号 {} 表示代码块,Python 用缩进。所以缩进不能乱,要么用4个空格,要么用1个Tab,别混着用。

2. if ... else —— 两条路

如果条件成立做什么,不成立又做什么:

age = 16if age >= 18:print("你可以进网吧了")else:print("小朋友回家写作业吧")

输出:

小朋友回家写作业吧

else 后面也是冒号,下面也要缩进。这个模式特别好理解:条件为真走 if,为假走 else。

3. if ... elif ... else —— 多条路

现实情况往往不只两个分支。比如成绩等级:

score = 85if score >= 90:print("优秀")elif score >= 80:print("良好")elif score >= 60:print("及格")else:print("不及格")

输出:

良好

elif 是 "else if" 的缩写。Python 会从上往下依次检查:

  • score >= 90?不成立
  • score >= 80?成立 → 输出"良好" → 后面的都不看了

这就是条件判断的短路机制:一旦找到匹配的,后面的全都跳过。

4. 条件表达式能写什么?

if 后面能放任何"是或否"的东西。Python 里这些值会被当成 False(假):

  • False
  • 0、0.0
  • 空字符串 ""
  • 空列表 []、空字典 {}、空元组 ()
  • None

除此之外,大部分东西都是 True(真)。

name = ""if name:print("名字不为空")else:print("名字是空的")

输出:

名字是空的

这个技巧很常用——判断一个字符串、列表或者字典是不是空的,不需要写 if len(name) == 0,直接 if name: 就行了。

5. 比较运算符

写条件判断少不了比较。Python 里的比较运算符:

运算符
含义
例子
==
等于
a == b
!=
不等于
a != b
>
大于
a > b
<
小于
a < b
>=
大于等于
a >= b
<=
小于等于
a <= b

⚠️ 踩坑预警:新手最容易犯的错误是 = 和 == 搞混。

  • = 是赋值,比如 a = 10
  • == 是判断是否相等,比如 a == 10
# 这是错的!if a = 10:print("a等于10")# 这才是对的if a == 10:print("a等于10")

6. 逻辑运算符:and / or / not

有时候一个条件不够用,需要组合多个条件。

and —— 两个条件都成立才为真

age = 22has_id_card = Trueif age >= 18and has_id_card:print("可以进网吧")else:print("进不去")

or —— 两个条件只要一个成立就为真

is_weekend = Trueis_holiday = Falseif is_weekend or is_holiday:print("不用上班")else:print("老实上班吧")

not —— 取反,真变假,假变真

is_raining = Falseifnot is_raining:print("不用带伞")

7. 嵌套判断

条件里面还能再套条件:

age = 20has_ticket = Trueif age >= 18:if has_ticket:print("请入场")else:print("请先买票")else:print("未成年禁止入场")

但嵌套太深代码会变得很难读。一般来说超过三层嵌套就该考虑简化了——可以用逻辑运算符合并条件,或者后面学的函数来拆分。

8. 真实场景:登录校验

把今天学的串起来,写一个简单的登录判断:

username = input("请输入用户名:")password = input("请输入密码:")# 假设正确的用户名和密码correct_user = "alice"correct_pwd = "123456"if username == correct_user and password == correct_pwd:print("登录成功!欢迎回来", username)elif username != correct_user:print("用户名不存在")else:print("密码错误")

这里用了 input() 函数——它会让程序停下来等用户输入,输入的内容以字符串形式返回。后面文章会细讲。

踩坑汇总

  1. 忘记冒号:if、elif、else 后面一定要加 :
  2. 缩进错误:条件里的代码块必须缩进,推荐4个空格
  3. = 和 == 混淆:赋值用 =,判断用 ==
  4. 忘记把字符串用引号包起来:字符串比较时记得加 "" 或 ''
# 错误示例合集if age >= 18# 漏了冒号print("ok")if name = "alice":   # 应该用 ==print("hi")

今日总结

知识点
一句话
if
条件成立时执行
elif
前面条件不成立,再判断另一个条件
else
上面所有条件都不成立时执行
比较运算符
==
、!=、>、<、>=、<=
逻辑运算符
and
(且)、or(或)、not(非)
缩进
Python 用缩进表示代码块,一定要统一

作业:写一个程序,让用户输入一个数字,判断它是正数、负数还是零。

明天的预告:Day 4: 循环——批量做事不用手写100遍,学会让代码自动重复执行,告别苦力活。


如果你觉得这篇文章对你有帮助,可以点个「在看」或者分享给同样在学编程的朋友~

最新文章

随机文章