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.')

结束。

posted @ 2020-06-09 15:03  巴州夜雨  阅读(715)  评论(0编辑  收藏  举报