Python的if分支结构,超简单!

分支结构是程序选择判断,从而进行更复杂操作的基础结构。Python程序中的分支结构,主要有if语句建立。

1.判断条件及组合

程序中的判断最常见的是使用操作关系符判断两个对象的关系,并据此得到True或者False的返回结果在决定分支方向。因此在学习if分支前,我们需要先学习一下Python中的关系操作符。

 

 

简单演示如下:


>>> 1 > 2
False
>>> 1 < 2
True
>>> 1 <= 2
True
>>> 1 >= 2
False
>>> 1 == 1
True
>>> 1 != 1
False
>>> 0 == False#0和False是等价的
True
>>> 1 == True#任何非0和非空的类型都是True
True
>>> "1" < "2"#字符串的比较大小是按照ASCII码来比较的
True
>>> "Python" < "python"#P的ASCII码比p的小
True
>>> "1" == "1"#相同字符判断为True
True

字符串是逐位比较,两个字符串第一位字符的ASCII码谁大,字符串就大,不再比较后面的;第一个字符相同就比第二个字符串,以此类推,需要注意的是空格的ascii码是32,空(null)的ascii码是0。

Python使用not、and、or保留字对条件进行逻辑运算和组合。

not表示单个条件的否关系,即某个条件为True,则not True为False,反之亦然;and表示多个条件的与关系,即只有所有的条件都为True时,and所连接的整个表达式才为True,否则都为False;or表示多个条件的或关系,即只要有一个条件为True,则or所连接的整个表达式就是True。

演示如下:


>>> not 1
False
>>> False and True and True
False
>>> False or True or False
True

2.单分支结构

用if保留字引导的语句建立。使用方法如下:

          If <判断表达式>:

                 <语句块>

程序根据判断表达式的结果,即True或是False,来决定语句块是否要执行。如果结果为True,则执行语句块,否则不执行。

(程序演示较为复杂,均默认采用IDLE编辑器演示)

演示如下:


if 1:
  print("第一条if语句被执行了")
if 0:
  print("第二条if语句被执行了")
#输出结果只有第一条if语句的语句块内容
第一条if语句被执行了

3.二分支结构

二分支结构是指两个分支必定执行其中一个,由保留字if和else建立。使用方法如下:

          If <判断表达式>:

                 <语句块1>

          else:

                 <语句块2>

当判断表达式中的结果为True时,语句块1会被执行,语句块2不会被执行;当判断表达式中的结果为False时,语句块2会被执行,语句块1不会被执行。

演示如下:


a = eval(input("请输入0或者1:"))
if a:
  print("第一条if语句被执行了")
else:
  print("第二条if语句被执行了")
#输入0时,输出结果为
请输入0或者1:0
第二条if语句被执行了
#输入1时,输出结果为
请输入0或者1:1
第一条if语句被执行了

二分支结构还有一种非常简洁的书写方式,适合语句块1和语句块2都是非常简单的表达式时使用,使用方法如下。

            <表达式1> if <条件> else <表达式2>

演示如下:


a = eval(input("请输入一个数字:"))
take = "" if a%2 else "不"
print("这个数字{}是一个奇数".format(take))
#输入1时
请输入一个数字:1
这个数字是一个奇数
#输入2时
请输入一个数字:2
这个数字不是一个奇数

4.多分支结构

在程序运行过程中,可能并不只有两种情况,因此单分支结构和二分支结构显得不够灵活。运用elif保留字即可应对程序中更加复杂的情况,使用方法如下:

          if <>:

                 <>

          elif <>:

                 <>

          …

          else:

                 <>

其中,你可以添加任意数量的elif分支。演示代码如下:


a = eval(input("请输入成绩:"))
if a < 60:
  print("对不起,你没有及格")
elif a < 75:
  print("恭喜及格了,但只是及格")
elif a < 90:
  print("厉害,达到良好水平")
else:
  print("太棒了,你优秀!")

在多分支结构中,elif的数量由自己的实际需要增减。且对else没有强制要求,可以不写。当未写else时,多分支结构最后的执行参考单分支结构。

posted @ 2021-02-23 14:15  酸菜鱼学Python  阅读(1343)  评论(0编辑  收藏  举报