if 和 elif
依旧是一个上课的例子,是一个关于寄快递的例子,根据不同的重量以不同的地区及计算快递费用。其中涉及到了一个if和elif的判断区别,if和elif的区别在于,if是只要满足条件就会执行,而elif是只有当if条件不满足时,才会判断elif的条件是否满足,满足则执行,不满足则继续判断下一个elif,直到满足或者都不满足。
示例
1 | diqu = input("请输入您要寄往的地区(01华东/02华南/03华北):") |
可能很多萌新跟一开始的我一样觉得这个代码并没有什么问题,但大家要想一下,如果你真这么写,那么电脑得先判断第一个条件是否全部满足,如果不满足才会判断第二个条件,以此类推,那么如果用户输入的地区是01,那么就会先判断01的条件,然后判断02的条件,最后判断03的条件,并且if的判断是要将内部的条件也给过一遍,这样就会浪费很多时间。
而如果用elif,那么就会先判断第一个条件,如果满足它才会继续判断里面的条件,如果不满足则会直接跳到下一elif进行判断,而不是一行行代码进行比较和读取,这样就会节省很多时间,所以elif的效率会更高。
更改后的示例
1 | diqu = input("请输入您要寄往的地区(01华东/02华南/03华北):") |
这才是正确的代码,用elif可以节省很多时间。