Python 教程 - 决策构造

Jinku Hu 2023年1月30日
  1. if…else 声明
  2. if 声明
  3. if...else 声明
  4. if...elif...else 声明
  5. 嵌套 if 语句
Python 教程 - 决策构造

在本节中,你将学习 Python 编程中的决策构造。最常用的决策构造是 if…else 构造。

if…else 声明

当你有两个语句块并且你只想根据某些条件执行一个语句块时,将使用 if…else 语句。在 Python 编程中,大多数 if…elif…else 都用作决策构造。

if 声明

if 声明中,你只有一个语句块,并且仅当条件为 True 时才执行此块,当条件为 False 时,将忽略该语句块。

以下是 Python 中 if 声明的语法:

if condition:
    statement(s)

Python 中的 if 语句主体不是用大括号括起来,而是使用缩进。主体的末端由第一条不在同一个缩进水平的行来决定。

if 声明示例

考虑以下 if 使用语句的示例:

a = 24
if a % 2 == 0:
    print(a, "is an even number")
b = 23
if b % 2 == 0:
    print(b, "is an odd number")
24 is an even number

在此代码中,首先为变量 a 分配一个值,然后评估语句中的 if 条件。它通过 % 2 来检查 a 是否为偶数,也就是是否 a % 2 为零,然后控制是否打印出相应的语句。

然后 b 分配一个奇数 23if 语句中的条件不是 True,因此 print(b, "is an odd number") 将不会执行。

if...else 声明

以下是 if...else 语句的语法:

if condition:
    block of statements
else:
    block of statements

if...else 中,如果 if 条件为 True,则执行相应的语句块,否则将执行 else 下的语句块。

if...else 声明示例

考虑下面 if...else 的代码:

a = 44
if a % 2 == 0:
    print(a, "is an even number")
else:
    print(a, "is an odd number")
44 is an even number

如果 a 是偶数,它将打印 a is an even number,否则将打印 a is an odd number

注意

ifelse 块不能同时执行或忽略。根据条件是否执行仅执行一个程序段 True

if...elif...else 声明

以下是 if...elif...else 语句的语法:

if condition:
    block of statements
elif condition:
    block of statements
else:
    block of statements

elif 代表 else if 它可以在此 if..elif..else 构造中多次使用。

if 条件为 False 时,将检查 elif 条件等等。当所有的 if 条件和 elif 条件是 False 时,else 部分将被执行。

注意

if...elif...else 仅能执行一个程序段。

if...elif...else 声明示例

考虑下面的代码,其中我们使用了用于检查多个条件的 if...elif...else 语句:

a = -34
if a > 0:
    print("Number is Positive")
elif a < 0:
    print("Number is Negative")
else:
    print("Number is zero")
Number is Negative

嵌套 if 语句

在 Python 中,你可以在 if 内部包含另一个 if 语句,这被称为嵌套 if 语句。

你可以嵌套任何类型的 if 语句任意多次。但是在程序设计语言中使用嵌套 if 结构并不是一个好习惯,因为程序的可读性会因此而变差。

嵌套 if 语句示例

在以下代码中,嵌套 if 结构用于查找最大数量:

T = 52

if T > 25:
    if T < 50:
        print("Temperature is higher than 25 but lower than 50")
    else:
        print("Temperature is higher than 50")
else:
    if T < 0:
        print("Temperature is lower than 0")
    else:
        print("Temperature is higher than 0 but lower than 25")
Temperature is higher than 50
作者: Jinku Hu
Jinku Hu avatar Jinku Hu avatar

DelftStack.com 创始人。Jinku 在机器人和汽车行业工作了8多年。他在自动测试、远程测试及从耐久性测试中创建报告时磨练了自己的编程技能。他拥有电气/电子工程背景,但他也扩展了自己的兴趣到嵌入式电子、嵌入式编程以及前端和后端编程。

LinkedIn Facebook