7. match 语句约束项
约束项
- [if 表达式] 是约束项。
- 只有在约束项表达式为真时才会执行此case块,否则跳过此case块。
约束项语法:
match 目标表达式:
case 匹配模式1 [if 表达式1]:
语句块1
case 匹配模式2 [if 表达式2]:
语句块2
case 匹配模式n [if 表达式n]:
语句块n
case _:
语句块other
其中 case 子句后面的 [] 内的内容是可选项,这个
if 表达式
称为约束项。
示例
北京国展车展招聘模特,初步筛选条件为:
- 男,身高在185cm以上(包含185cm)。
- 女,身高在175cm以上(包含175cm)。
写一个程序,输入性别和身高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元/公里)
要求,输入公里数,打印出费用金额(以元为单位,元以下的四舍五入)。