9. 语句进阶
9.3 条件语句

基本概念

在第四章中,我们学习了一些 Python 语言的基本语句。这些语句基本上是以一种线性的方式,顺序执行的;但是在实际开发中,我们很有可能需要程序只有在满足某种条件下才执行,例如:只有当温度达到 30 度时,空调才启动制冷;或者,只有当行驶速度超过 120km/h 时,屏幕才显示超速报警。此时,程序就不能按部就班地一条一条顺序执行,而是需要使用条件控制语句(Conditional Control Statement)。

举个例子,假设我们正在编写一个计算矩形面积的程序。在计算面积之前,我们想添加一个条件控制语句,检查长度和宽度值是否为正数。如果任一值为负数,我们就显示错误消息而不是计算面积。

以下是一个代码片段的示例:

length = float(input("输入矩形的长度:"))
width = float(input("输入矩形的宽度:"))
 
if length > 0 and width > 0:
    area = length * width
    print("矩形的面积为:", area)
else:
    print("错误:请为长度和宽度输入正数。")

在这个例子中,if 语句检查长度和宽度值是否大于零。如果大于零,程序就计算矩形面积并显示结果;反之,如果任一值为负数或零,显示错误消息。

所以,条件控制语句允许我们的程序根据不同的情况和输入做出相应的调整,从而让代码更加健壮,适用性也更强。

基本用法

在 Python 中,有几种条件控制语句可以根据特定条件控制代码的执行流程,例如:if 语句、if-else 语句、if-elif-else 语句等。下面就让我们一一介绍。

  1. if 语句:用于检查特定条件是否为真或假。如果条件为真,则 if 语句中的代码将被执行;如果条件为假,则 if 语句中的代码将被跳过。
    以下是一个例子:

    x = 5
     
    if x > 3:
        print("x大于3")

    在此例中,由于变量 x 确实大于 3,因此 if 语句中的代码将被执行,相应的输出结果为:

    x大于3
  2. if-else 语句:用于检查特定条件是否为真或假。如果条件为真,则 if 语句中的代码将被执行;如果条件为假,则 else 语句中的代码将被执行。
    以下是一个例子:

    x = 2
     
    if x > 3:
        print("x大于3")
    else:
        print("x小于等于3")

    在此例中,由于变量 x 小于 3,因此 else 语句中的代码将会被执行,相应的输出结果为:

    x小于等于3
  3. if-elif-else 语句:用于检查多个条件。如果第一个条件为真,则 if 语句中的代码将被执行;如果第一个条件为假,则将检查第二个条件。如果第二个条件为真,则 elif 语句中的代码将被执行;如果第二个条件为假,则将执行 else 语句中的代码。
    举个例子:

    x = 3
     
    if x > 3:
        print("x大于3")
    elif x == 3:
        print("x等于3")
    else:
        print("x小于3")

    在此例中,由于变量 x 等于 3,因此 elif 语句会被执行,相应的输出结果为:

    x等于3
  4. 对于复杂的条件判断,我们可以在 if-elif-else 语句中包含多个 elif 语句,以检查多个条件。在使用多个 elif 语句时,Python 解释器会按顺序从上到下评估条件并执行。一旦发现条件为真,Python 将执行相应的 elif 语句中的代码,同时不会再评估其余条件;如果没有条件为真,则将执行 else 语句中的代码。
    以下是一个具有多个 elif 语句的 if-elif-else 语句的示例:

    x = 6
     
    if x > 10:
        print("x大于10")
    elif x > 7:
        print("x在8和10之间")
    elif x > 5:
        print("x在6和7之间")
    else:
        print("x为5或更少")

    在此示例中,Python 将按顺序评估条件。因为 x 不大于 10,第一个 if 语句会被跳过;第二个 elif 语句也会被跳过,因为 x 不大于 7;第三个 elif 语句为真,因为 x 大于 5 但不大于 7,所以执行相应的 elif 语句中的代码。

    如果我们在程序中需要判断多个条件,建议使用 elif 语句而不是多个 if 语句来检查多个条件,这样可以显著地改善代码的效率。

总结

综上所述,条件控制语句允许我们根据特定条件控制代码的执行流程,这在编程中非常重要。

在 Python 中,主要的条件控制方式有三种:

  1. if 语句
  2. if-else 语句
  3. if-elif-else 语句

对于多重条件判断,建议使用 elif 语句而不是多个 if 语句来检查多个条件,这样可以让我们的代码更有效率。