
3.2.2 if-elif-else语句

3.2.2 if-elif-else语句
Python中的多分支选择结构使用if-elif-else语句。
1.if-elif-else语句的语法格式
if-elif-else语句的语法格式为:

说明:
1)if-elif-else语句的执行流程是:当程序运行到“if”时,首先判断“条件1”,如果其值为True,则执行“条件1为真时执行的语句块”,然后结束执行整个if-elif-else语句,执行后面的语句。
如果“条件1”的值为False,则判断“条件2”,如果其值为True,则执行“条件2为真时执行的语句块”,然后执行后面的语句。如果“条件2”的值为False,则继续向下判断其他条件的值。
如果所有条件的值都为False且有else子句,则执行else部分的“上面条件都不满足时执行的语句块”,然后执行后面的语句。
不管有几个分支语句块,只执行其中一个。
2)Python中用elif代替了else if,所以if语句的关键字为if-elif-else。
3)可以把if-elif-else结构放在另外一个if-elif-else结构中实现if语句的嵌套。
2.if-elif-else语句使用实例
【例3-11】 铁路托运行李,规定每张客票托运费的计算方法是:行李重量不超过50kg时,每千克0.25元;超过50kg而不超过100kg时,超过部分每千克0.35元;超过100kg时,超过部分每千克0.45元。编写程序,输入行李重量,计算并输出托运费。
分析:设行李重量为wkg,应付托运费为x元,则运费公式为:

计算铁路托运费的程序用if-elif-else实现。

对于各分支的条件,应该先判断较小的数,然后判断较大的数,上面代码中的条件即是按从小到大的顺序。分支的条件也可以采用更加严格的逻辑表达式,程序如下:

【例3-12】 某百货公司为了促销,采用购物打折扣的优惠办法,每位顾客一次购物:
1)在1000元以上者,按九五折优惠。
2)在2000元以上者,按九折优惠。
3)在3000元以上者,按八五折优惠。
4)在5000元以上者,按八折优惠。
编写程序,输入购物款数,计算并输出优惠价。
分析:设购物款数为x元,优惠价为y元,优惠价的计算公式为:

用if-elif-else语句写出程序:
