Skip to content

Python 的条件控制

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

条件控制语法

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

python
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

!class:info 参考:Python 官方文档

例如:

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

weather:int = SUNNY

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

代码块

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

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 来实现这个功能:

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

练习

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

  • 可以被 2 整除的整数是偶数,不能被 2 整除的整数是奇数。
python
number:int = int(input("请输入一个整数:"))

if True:  # 修改此处代码,判断 number 是偶数还是奇数
    print(number, "是偶数")
else:
    print(number, "是奇数")