国际访客建议访问 Primers 编程伙伴 国际版站点 > Python 教程 > 条件控制 以获得更好的体验。

# Python 的条件控制

在编写程序时,我们经常需要根据不同的情况执行不同的代码。例如,在一个天气应用中,如果天气晴朗,就显示“出门记得戴太阳镜”;如果下雨,就显示“出门记得带上雨伞”。 这种根据条件执行不同代码的行为称为 条件控制

# 条件控制语法

Python 使用 ifelifelse 来进行条件判断,其基本语法如下:

if 条件1:       # 如果 条件1 为 True,则执行 代码块1
    代码块1
elif 条件2:     # 否则(即 条件1 为 False),如果 条件2 为 True,则执行 代码块2
    代码块2

...

elif 条件n:     # 否则(即之前的条件均为 False),如果 条件n 为 True,则执行 代码块n
    代码块n
else:           # 否则(即之前的条件均为 False),执行 代码块n+1 
    代码块n+1
graph TD
    START([开始]) --> COND1{条件1?} -- 是 --> 代码块1 --> END([结束])
    COND1 -- 否 --> COND2{条件2?} -- 是 --> 代码块2 --> END([结束])
    COND2 -- 否 --> CONDn{条件n?} -- 是 --> BLOCKn["代码块 n"] --> END([结束])
    CONDn -- 否 --> ELSE_BLOCK["代码块 n+1"] --> END([结束])

例如:

运行示例

SUNNY:int = 1   # 晴天
RAINY:int = 2   # 雨天

weather:int = SUNNY

if weather == SUNNY:
    print("出门记得戴太阳镜")
elif weather == RAINY:
    print("出门记得带上雨伞")

# 代码块

Python 的代码块通过 缩进 进行区分,例如:

运行示例

print("这是最外层代码块")                       # 代码块 A
if True:
    print("这是外层 if 条件的代码块")           # 代码块 B
    if False:
        print("这是内层 if 条件的代码块")       # 代码块 C
        print("这是内层 if 条件的代码块")       # 代码块 C
    print("这是外层 if 条件的代码块")           # 代码块 B
print("这是最外层代码块")                       # 代码块 A

缩进的方式并没有明确规定,但通常使用 四个空格

# 条件表达式

在编程中,常常会遇到一些简单的条件判断,例如“去买水果,有菠萝就买两个,没有就买一个西瓜”。 在别的一些编程语言中,可以使用三目运算符来简化操作,形如 pineapple_exists ? 2 : 1 (如果 pineapple_existsTrue 则结果为 2 否则结果为 1)。 Python 中没有三目运算符,可以使用 if-else 来实现这个功能:

运行示例

pineapple_exists:bool = True
count:int = 2 if pineapple_exists else 1   # 如果 pineapple_exists 为 True 则结果为 2, 否则结果为 1
print(count)

# 练习

请实现判断一个整数是偶数还是奇数,通过 input 获取输入。

  • 可以被 2 整除的整数是偶数,不能被 2 整除的整数是奇数。

运行示例

number:int = int(input("请输入一个整数:"))

if True:  # 修改此处代码,判断 number 是偶数还是奇数
    print(number, "是偶数")
else:
    print(number, "是奇数")
本文 更新于: 2025-06-19 01:15:21 创建于: 2025-06-19 01:15:21