上节课讲了if判断实现条件成立就执行某段分支代码,那么条件不成立,我想让它执行另外一段代码,怎么做呢?
有个语法叫做else加冒号,else:。然后后面也会跟锁紧的代码块。else的子代码块会在前面的if条件不成立的情况下执行。
还是拿上章的例子来看,我写一个else代码,就是如果我前面的条件成立我就表白,但是条件不成立,就打印一句‘你是个好人!’。
然后我们再来看整段代码的流程,首先还是执行主线代码,采集条件你熟不是人,性别年龄的三段代码。然后执行到if判断的时候就会有两个分支,如果条件成立,则会打印表白的话。我们可以最后加一句‘你这个渣男!’。哪有直接表白的对吧!
如果条件成立,就会跳过else代码直接回到主线执行后面的代码,‘你这个渣男’。如果条件不成立,直接就执行else的子代码块。最后整个if判断的子代码执行完之后则会回到主线继续执行后面的代码。
我们来运行看看,首先是条件成立。if条件执行完之后,就执行最后的主代码块,打印‘你这个渣男’。
再来看条件不成立执行else代码。就会直接打印‘你是个好人’。言外之意就是你不满足女朋友的条件。
不管你if条件判断的结果如何,分支的代码怎么执行,最后打印的代码是主代码块,都不会影响执行。你再怎么伪装都掩盖不了你渣男的身份,是这个意思吧!!!
关于if、else我们就讲完了,就是满足条件执行一段代码,不满足条件执行另一段代码。
接着我们再看另一种情况,在我们的生活中所有的判断都是非此即彼吧,可能遇到的问题有第一种情况,还有第二、第三、第N种情况。
举个例子,你儿子考试,你和他说只要你考到100分,就带你去海洋公园看美人鱼(不知道是你想看还是你儿子想看),考到90分以上就带你儿子去吃大餐,考到60分以上,啥都没有,不及格就是一顿皮鞭炒肉。
这就有四种情况了,刚刚我们讲的if、else就实现不了了,这时候if就有的另外一种语法,叫elif。
elif可以写无限多个,你想写多少就写多少,也就是不管你有多少种情况,都可以使用elif来处理。最后你也可以跟一个刚刚讲的else,你可以根据自己的实际需求来,不过一般都会加上,来处理我们所想到的条件都不成立的情况。
整个运行流畅就是首先判断if的第一个条件,如果条件成立就会执行第一个子代码块,然后会直接跳过所有的elif和else,继续执行主线的代码,如果第一个条件不成立,就会进入下一个elif条件判断,成立则执行对应的子代码块。之后立即退出判断回到主线。
如果所有条件都不成立,则会执行else的子代码块。
我们来把刚刚的例子实现一下,继续用input方式实现。最后的不及格直接用else表示。
好,我们先来输入考了100份的情况,直接打印‘周末带你去海洋公园!’。
输入90分以上。
输入60分以上。
最后输入不及格。
最后我们总结一下,if+elif+else的这种用法,最后只会成功运行一个子代码块,只要有一个条件成立了,后续的判断都不会在做了。如果所有条件都不成立,则只会执行else下的子代码块。
未经允许不得转载:445IT之家 » Python if多条件判断