zoukankan      html  css  js  c++  java
  • 大爽Python入门教程 3-2 条件判断: if...elif..else

    大爽Python入门公开课教案
    点击查看教程总目录

    简单回顾if

    回顾下第一章的代码

    >>> x = 5
    >>> if x > 0:
    ...     print("x is greater than 0")
    ...
    x is greater than 0
    

    当时是从朴素的逻辑角度去理解的。
    现在详细的说一下这个。

    if语句的基础形式如下

    if condition:
        statement  # code block
    
    • conditionTrue,代表if判断成功,则执行冒号下面的缩进的代码块statement
    • conditionFalse,代表if判断不成功,不执行冒号后面的statement

    补充:如果condition不是布尔值,那就会先计算出condition的布尔值。

    if...else

    if常常会和else连用。
    其语法格式如下

    if condition:
        statement1  # code block for True
    else:
        statement2  # code block for False
    

    conditionTrue,代表if判断成功,执行statement1
    conditionFalse,代表if判断不成功,进入else情况,执行statement2

    代码示例

    >>> x = 5
    >>> if x > 0:
    ...     print("x is greater than 0")
    ... else:
    ...     print("x is less than or equal to 0")
    x is greater than 0
    
    >>> x = - 1
    >>> if x > 0:
    ...     print("x is greater than 0")
    ... else:
    ...     print("x is less than or equal to 0")
    x is less than or equal to 0
    

    if...elif

    有时候,我们可能需要判断多个场景。
    比如:
    如果是场景A,则如何如何。
    如果是场景B,则如何如何。
    如果是场景C。。。。。。

    这个时候就需要使用elif
    其基础格式如下

    if condition1:
        statement1  # code block for condition1
    elif condition2:
        statement2  # code block for condition2
    
    1. condition1True,代表if判断成功,执行statement1
      (不进入后面的elif判断)。
    2. condition1False,代表if判断不成功,进入elif判断。
      • condition2True,代表elif判断成功,执行statement2
      • condition2False,代表elif判断不成功,不执行statement2

    且可以不断地在后面补充elif

    if condition1:
        statement1  # code block for condition1
    elif condition2:
        statement2  # code block for condition2
    elif condition3:
        statement2  # code block for condition2
    elif condition4:
        statement2  # code block for condition2
    
    1. condition1True,代表if判断成功,执行statement1
      (不进入后面的elif判断)。
      condition1False,代表if判断不成功,进入下面第1个elif判断。
    2. condition2True,代表第1个elif判断成功,执行statement2(不再进入后面的elif判断)。
      condition2False,代表第1个elif判断不成功,进入下面第2个elif判断。
    3. condition3True,代表第2个elif判断成功,执行statement3(不再进入后面的elif判断)。
      condition3False,代表第2个elif判断不成功,进入下面第3个elif判断。
    4. condition4True,代表第3个elif判断成功,执行statement4
      condition4False,代表第3个elif判断不成功。

    代码示例。
    比如我们之前的习题,根据左转的次数判断其方位。

    小明同学站在平原上,面朝北方,向左转51次之后(每次只转90度),
    小明面朝哪里?

    这个就可以使用上面的elif来弄

    times = 51
    di = times % 4
    
    if di == 0:
        print("north")
    elif di == 1:
        print("west")
    elif di == 2:
        print("south")
    elif di == 3:
        print("east")
    

    其输出为

    east
    

    改变times,输出也会更着发生对应变化。

    if...elif...else

    实际上,对于上面的例子。
    最后一个判断是没必要,或者说多余的。
    因为总共就四种情况,不是第一二三种的话,就必然是第四种。
    所以最后一个elif判断,可以直接换成else
    即如下

    times = 51
    di = times % 4
    
    if di == 0:
        print("north")
    elif di == 1:
        print("west")
    elif di == 2:
        print("south")
    else:
        print("east")
    

    else上面的所有ifelif都为False时。
    会进入else

    一般情况数量固定,当其他情况都判断之后,
    最后剩下的一个情况不用判断,直接使用else

  • 相关阅读:
    冷水花
    石竹
    红花酢浆草
    紫鸭跖草
    吊竹梅
    花叶络石
    牡丹
    CF1190D Tokitsukaze and Strange Rectangle
    CF1178D Prime Graph
    CF958E2 Guard Duty (medium)
  • 原文地址:https://www.cnblogs.com/BigShuang/p/15260125.html
Copyright © 2011-2022 走看看