首页 / Python3 入门教程 / 条件控制

Python3 入门教程

条件控制

本教程共 70 篇 · 第 16 篇 · 更新于 2026-07-22 · 约 2 分钟阅读

PythonPython3 入门教程条件控制if-elif-else三元表达式分支判断

16. 条件控制

本节目标:掌握 if/elif/else 的用法,学会三元表达式,让程序能根据不同情况做不同的事。

if 语句

程序最基础的能力就是「判断」。Python 用 if 语句实现:

age = 20
if age >= 18:
    print("已成年")

注意两点:条件后面必须有冒号 :,下面的语句块要缩进 4 个空格。

if…else

有「是」就得有「否」:

age = 16
if age >= 18:
    print("已成年")
else:
    print("未成年")

if…elif…else

多个条件分支,用 elif(else if 的缩写):

score = 85

if score >= 90:
    grade = "A"
elif score >= 80:
    grade = "B"
elif score >= 70:
    grade = "C"
elif score >= 60:
    grade = "D"
else:
    grade = "F"

print(f"等级: {grade}")
Note

Python 从上往下判断,碰到第一个为 True 的条件就执行对应的代码块,剩下的跳过。所以条件的顺序很重要。

age = 20
if age >= 6:          # 这个条件先满足
    print("teenager")
elif age >= 18:
    print("adult")    # 这行不会执行

条件的真假

Python 里这些值会被当作 False

  • False 本身
  • 00.00j
  • 空字符串 ''
  • 空列表 []、空元组 ()、空字典 {}、空集合 set()
  • None

其他一切值都当作 True。所以可以这样简写:

name = ""
if name:
    print(f"你好, {name}")
else:
    print("名字不能为空")
Tip

不要跟 None== 比较,用 is None

if user is not None:
    print(user.name)

条件嵌套

一个条件块里可以再套条件,但不建议嵌套超过三层,可读性会急剧下降。

x = 10
if x > 0:
    if x % 2 == 0:
        print("正偶数")
    else:
        print("正奇数")
else:
    print("非正数")

复杂的嵌套逻辑,考虑拆成函数或者用更清晰的条件表达式改写。

三元表达式

简单的 if…else 可以写成一行:

# 传统写法
if age >= 18:
    status = "成年"
else:
    status = "未成年"

# 三元表达式
status = "成年" if age >= 18 else "未成年"

语法是:值A if 条件 else 值B。条件为真取值 A,否则取值 B。

Warning

三元表达式适合简单场景。嵌套多个三元表达式会让代码变成天书:

# 不要这样写
result = a if x > 0 else (b if x == 0 else c)

超过一个三元嵌套,乖乖用 if…elif…else。

猜数字练习

综合运用条件控制:

import random

number = random.randint(1, 100)
guess = 0

while guess != number:
    guess = int(input("猜一个 1-100 的数字:"))

    if guess < number:
        print("猜小了")
    elif guess > number:
        print("猜大了")
    else:
        print("猜对了!")

来源:参考了 runoob「Python3 条件控制」、liaoxuefeng「条件判断」等,改写后所得。