zoukankan      html  css  js  c++  java
  • Python条件循环_条件执行_选择执行_链式条件_嵌套条件

    一,条件执行

    有用的程序必然要有条件检查判断的功能,根据不同条件要让程序有相应的行为。条件语句就让咱们能够实现这种判断,最简单的就是if语句了:

    if x > 0:

       print('x is positive')

    if后面的布尔表达式就叫做条件。如果条件为真,随后缩进的语句就运行。如果条件为假,就不运行。

    if语句与函数定义的结构基本一样:一个头部,后面跟着缩进的语句。这样的语句叫做复合语句。

    复合语句中语句体内的语句数量是不限制的,但至少要有一个。有的时候会遇到一个语句体内不放语句的情况,比如空出来用来后续补充。

    这种情况下,你就可以用pass语句,就是啥也不会做的。

    if x < 0:

          pass

    二,选择执行

    if语句的第二种形式就是【选择执行】,这种情况下会存在两种备选的语句,根据条件来判断执行哪一个。语法如下所示:

    if x % 2 == 0:

       print('x is even')

    else:

       print('x is odd')

    如果x除以2的余数为0,x就是一个偶数了,程序就会显示对应的信息。如果条件不成立,那就运行第二条语句。这里条件非真即假,只有两个选择。这些选择也叫【分支】,因为在运行流程上产生了不同的分支。

    三,链式条件

    有时我们要面对的可能性不只有两种,需要更多的分支。这时候可以使用连锁条件来实现:

    if x < y:

        print('x is less than y')

    elif x > y:

        print('x is greater than y')

    else:

        print('x and y are equal')

    elif是【else if】的缩写。这个例子也只会有一个分支的语句会被运行。

    elif语句的数量是无限制的;如果有else语句的话,这个else语句必须放到整个条件链的末尾,不过else语句并不是必须有的。

    if choice == 'a':

        draw_a()

    elif choice == 'b':

        draw_b()

    elif choice == 'c':

        draw_c()

    每一个条件都会依次被检查。如果第一个是假,下一个就会被检查,依此类推。如果有一个为真了,相应的分支语句就运行了,这些条件判断的语句就都结束了。

    如果有一个以上的条件为真(也就是不止一个分支为真),只有先出现为真的条件所对应的分支语句会运行。

    四,嵌套条件

    一个条件判断也可以嵌套在另一个条件判断内:

    if x == y:

       print('x and y is equal')

    else:

       if x > y:

          print('x is greater than y')

       else:

          print('x is less than y')

    外部的条件判断包含两个分支,第一个分支只有一个简单的语句。第二个分支包含了另外一重条件判断,这个内部条件判断有两个分支。这两个分支都是简单的语句,他们的位置也可以继续放条件判断语句的。

    虽然语句的缩进会让代码结构看着比较清晰明显,但嵌套的条件语句读起来还是有点难度。 所以我们一般尽量避免使用嵌套的条件判断。

    逻辑运算符有时候对简化嵌套条件判断很有用,看一个例子:

    if 0 < x:

        if x < 10:

           print('x is a positive single-digit number.')

    上面的例子中,只有两个条件都满足了才会运行print语句,所以能用逻辑运算符来实现同样的效果:

    if 0 < x and x < 10:

       print('x is a positive single-digit number.')

    这种条件下,Python提供了更简洁的表达方法:

    if 0 < x  < 10:

       print('x is a positive single-digit number.')

    结束。

  • 相关阅读:
    龟兔赛跑(动态规划)
    Dividing (多重背包 搜索)
    第k大值01背包问题
    FATE(完全背包)
    01背包 和 完全背包 详解
    放苹果(动态规划)
    max Sum(简单动态规划)
    连连看 优先对列 应用2
    尺取法
    Square(强大的剪枝)
  • 原文地址:https://www.cnblogs.com/liusingbon/p/13067555.html
Copyright © 2011-2022 走看看