在本 Python 决策语句教程中,我们将掌握 Python 编程中使用的所有关于决策构建的知识,如 if、if-else、if elif 等。此外,我们将通过示例讨论决策语句的语法和流程图。
为了便于理解,我们以交通信号灯的真实场景为例。当交通信号灯变红时会发生什么?所有车辆都会停下来。当它变成绿色时,车辆就会开始行驶。因此,道路上车辆的流动是由交通信号灯控制的。
同样,在编程世界中,决策构建用于控制程序的流程。它预测结果,并根据结果执行程序代码。条件语句的结果是一个布尔值,例如 True 或 False。
注意:Python 将非零值读取为 True,而将 None 和零读取为 False。
用通俗的语言来说,if 这个词表示一个条件或假设。同样,在 Python 编程语言中,if 是一个指代条件语句的决策构建。
在决策构建中,if 是最基本的。 If 对其应用的表达式进行求值,并检查表达式是否满足条件。当表达式满足条件时,结果将是 True,Python 将执行跟在结果后面的语句块。否则,它将跳过该块并跳转到该块之后的语句。
if condition:
#body of if
IF 条件语句可以使用下图所示的流程图进行最佳可视化。

a = 20;
if a>10:
print('a is greater than 10')
print('Bye!!!!')
输出
A is greater than 10 Bye!!!!
在上例中,将对条件 a>10 进行求值,以确定变量 a 的值是否大于 10。在我们的例子中,变量 a 的值是 20,它大于 10,因此条件为 True。因此,程序控制被导向 if 的下一条语句,并打印结果 **a is greater than 10**。然后,程序控制被转移到 if 的缩进之外的语句。
注意:决策语句依赖于缩进。
单个 if 语句的局限性在于它只执行 True 后面的语句。单个 if 语句不处理 False 的情况。
为了克服单个 ‘if’ 语句的局限性,我们使用 ‘else’ 语句。具体来说,在 if-else 语句中,Python 会对条件进行求值并按如下方式输出结果:
if Condition:
#execute body of if
else:
#execute body of else

现在我们可以检查 if else 语句在 Python 程序中的工作方式。
a = 20;
if a<10:
print('a is less than 10')
else:
print('a is greater than 10')
输出
a is greater than 10
上面的示例是对条件 a<10 进行求值。如果条件求值为 True,则打印 a is less than 10,或者如果条件求值为 False,则程序控制转移到 else 部分并打印 a is greater than 10。在这种情况下,变量 'a' 的值是 20,大于 10,因此结果是 else 部分的语句,即 a is greater than 10。
这是 if else 的一个稍微复杂一些的版本。在这里,elif 是一个 Python 关键字,指的是 else..if。简而言之,if elif else 是一个条件语句链。它有时被称为 **if elif else** 梯形。
if Condition1:
#execute body of if
elif Condtion2:
#execute body of elif
elif Condition3:
#execute body if elif
else:
#execute body if else

以下是 if...elif...else 语句的示例。
a = 10
b = 20
if a==b:
print('a is equal to b')
elif a < b:
print("a is less than b")
else:
print("a is greater than b")
print('Exit')
输出
a is less than b Exit
在上例中,对条件 a== b 进行求值。如果 a 和 b 具有相同的值,则执行 if 部分的主体并打印 a is equal to b。但在我们的例子中,条件求值为 False,因此执行 else if 部分,该部分再次求值条件,看 a 是否小于 b。由于变量 a 的值为 10,b 的值为 20,条件求值为 True,因此打印 a is less than b 作为结果。
如果 a 为 20 而 b 为 10,则条件失败,else 部分执行,结果为 a is greater than b。
在某些情况下,即使表达式求值为 True,我们也需要检查其他条件。在这种情况下,我们使用嵌套 if,而不考虑它的复杂程度。嵌套 if 的复杂性取决于嵌套的级别。
包含另一个 if 语句的 if 语句称为**嵌套 if**。我们可以嵌套简单的 if、if else 语句或 if elif else 语句。这完全取决于程序员的选择,因此没有通用的语法或流程图。但是,为了更好地理解,请考虑以下语法和流程图。
if Condition1:
#execute body of if(condition1)
if Condtion2:
#execute body of if (condition 2)
elif Condition3:
#execute body if elif
else:
#execute body of else (nested)
else:
#execute body of else

a = 25
b = 20
if a > 0:
if a==b:
print('a is equal to b')
elif a < b:
print("a is less than b")
else:
print("a is greater than b")
else:
print("a is less than 0")
print('Exit')
输出
a is greater than b Exit
在上例中,最初对 a >0 进行求值。
如果 a>0 为 True,则程序控制移至嵌套 if。在这种情况下,a 的值为 25,大于零,因此移至嵌套 if。
现在求值条件 a==b,在我们的场景中,其结果为 False,因为 a=25 和 b=20。
因此,流程转移到 elif,其中检查条件 a。所以我们的例子打印 a is greater than b。