7. match 语句约束项

约束项

约束项语法:

match 目标表达式:
    case 匹配模式1 [if 表达式1]:
        语句块1
    case 匹配模式2 [if 表达式2]:
        语句块2
    case 匹配模式n [if 表达式n]:
        语句块n
    case _:
        语句块other

其中 case 子句后面的 [] 内的内容是可选项,这个 if 表达式 称为约束项。

示例

北京国展车展招聘模特,初步筛选条件为:

写一个程序,输入性别和身高cm,打印出此人是否满足招聘条件。

# match 语句 -- 约束项 示例

gender = input('请输入性别(男/女): ')
height = int(input('请输入身高(厘米): '))

match gender:
    case '男' if height >= 185:
        print('满足条件!')
    case '女' if height >= 175:
        print('满足条件!')
    case _:
        print('不满足条件!')

练习

编写北京出租车计价器程序:

收费标准:  
3公里以内收费13元  
基本单价 2.3元/公里(超出3公里以外)  
空驶费: 超过15公里后,每公里加收单价的50%空驶费(3.45元/公里)  

要求,输入公里数,打印出费用金额(以元为单位,元以下的四舍五入)。

视频讲解