Python教程:关于条件语句的解析

开课吧开课吧锤锤2021-07-12 15:50

不管哪种语言,其代码结构都只有3个时钟、顺序结构、条件结构和循环结构。简而言之,顺序结构就是一行执行的代码,很好地理解;条件结构就是带分支,A分支做什么,B分支做什么,C分支做什么;循环结构就是一遍又一遍地做同样的事情,直到触发特定的条件,形成循环结构。  

关于条件语句的解析

条件结构由条件语句构成。  

条件语句有3种形式,分别是单向判断、双向判断和多向判断  

单向判断:if  

单向判断语句只有一个出口,那么没有满足条件咋办呢?  

什么都不做,继续下面的语句执行。  

我们看个demo:  

i=3
if i==3:
    print(i)

这个代码的作用是:  

如果变量i的值是数字3,那么就把i打印出来,也就是打印出3。如果不是3,那就什么都不做。  

单向判断就这么简单!  

双向判断:if...else...  

if...else...构成双向判断,也就是满足if是一个分支,不满足if又是另外一个分支。依然,我们举个简单的例子。

i=3
if i==1:
#第一个分支
     print('i的值是1')
else:
#第二个分支
     print('i的值不是1')

对于这种双向判断,你就想,如果满足if后面的条件,那么就执行if里面的语句块。如果不满足,那么就全都执行else里面的语句块。就是这么简单粗暴。  

多说一句,什么叫语句块:一个语句是语句块,多个语句也是语句块。  

#这是一个语句块
i=1
#line5-line7是一个语句块
if i==1:
    print('hahaha')
    print('lalala')
    print('hehehe')

多向判断:if...elif...else  

多向判断,顾名思义,就是有多个方向的判断语句。同时也说明方向个数不定,可能10个,也可能100个。  

为什么会出现这个情况呢?因为elif可以多个,所以方向就会多个。  

举个例子:  

diamond=5
if diamond >= 6:
    print('你拥有的钻石大于6')
elif 3< diamond <=5:
    print('你拥有的钻石大于3,但是小于6')
else:
    print('你拥有的钻石小于或等于3')

这里我们用了一个elif,所以是3个方向,你要是再加入一个elfi,那就是4个方向了。这就是多向的来源。  

多向判断理解的核心,不在于if,也不在于elif,更不在与else,而在于顺序执行,要理解代码严格一步步执行。  

也就是判断后面的条件是一个个由上至下来判断的,一个不符合后,就继续判断下一个。如果所有的if和elfi后面的条件都不满足,那么就执行else后面的语句块。  

关于多向判断,尤其需要注意的是,虽然我们的形式是ifelifelse,但是是可以不用else结尾的,也就是可以是ifelifelif,举个例子:  

diamond = 8
if diamond >=6:
    print('你拥有的钻石大于6')
elif 3<diamond<=5:
    print('你拥有的钻石大于3,但是小于6')
elif 1<diamond<=3:
    print('你拥有的钻石大于1小于等于3')

if怎么做嵌套  

如果你的条件判断比较复杂,条件判断内部还要继续进行条件判断,那么该怎么敲代码呢?  

if嵌套帮助你!  

先看一个实例:  

#这是你的成绩
score=98
#一个简简单单的if判断
if score>=60:
    print('你已经及格')
#内部嵌套的if判断
    if score>=80:
        print('你很优秀')
#内部嵌套的if对应的else分支
    else:
        print('你只是一般般')
#对应的else分支
else:
    print('不及格')
#内部嵌套的if判断
    if score<30:
        print('学渣')
#内部嵌套的if判断对应的else分支
    else:
        print('还能抢救一下')

这就是if嵌套的方式。为了写出这个,你需要做好两个准备:  

熟悉ifelifelse的语法格式,这是不出Bug的前提;  

把问题捋清楚,问题的判断是怎么嵌套的,我推荐你在白纸上用流程图来梳理;  

嵌套代码怎么写?  

条件嵌套语句很像洋葱,一层套着一层。接着我告诉你怎么用这个方法。  

第一步  

搞定最外面那张皮,把最基础的条件和命令写出来  

对于我们上面那个demo,如下:  

#最基础的条件
score = 96
if score>=60:
#最基础的命令,其实就是语句
    print('你已经及格')
else:
#这也是最基础的命令
    print('不及格')

第二步在基础条件if内部,写入额外条件最基础的条件  

score = 96
if score>=60:
#最基础的命令,其实就是语句
    print('你已经及格')
    #内部嵌套的if判断
    if score>=80:
        print('你很优秀')
#内部嵌套的if对应的else分支
    else:
        print('你只是一般般')
else:
#这也是最基础的命令
    print('不及格')

第三步  

在基础条件else内部,写入额外条件  

经过扒洋葱这3个步骤,我们就可以写出来嵌套代码。  

score = 96
if score>=60:
#最基础的命令,其实就是语句
    print('你已经及格')
    #内部嵌套的if判断
    if score>=80:
        print('你很优秀')
#内部嵌套的if对应的else分支
    else:
        print('你只是一般般')
else:
#这也是最基础的命令
    print('不及格')
#内部嵌套的if判断
    if score<30:
        print('学渣')
#内部嵌套的if判断对应的else分支
    else:
        print('还能抢救一下')

以上就是开课吧广场小编为大家整理发布的“Python教程:关于条件语句的解析”一文,更多Python教程相关内容尽在开课吧广场Python教程频道。

免责声明:本站所提供的内容均来源于网友提供或网络搜集,由本站编辑整理,仅供个人研究、交流学习使用。如涉及版权问题,请联系本站管理员予以更改或删除。
有用
分享
全部评论快来秀出你的观点
登录 后可发表观点…
发表
暂无评论,快来抢沙发!
零基础轻松入门Python