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.')
结束。