前言
在Python中,并没有实现switch-case
语句,通过if-elif
实现会显得麻烦,因此通过以下方式实现该语句功能。
实现方式
通过字典实现
以如下情景为例,将百分制分数转换为五分制分数。如100%
转换为5
,80%
转换为4
等。
def foo(score):
return {
'100%':5,
'80%':4,
'60%':3,
'40%':2,
'20%':1,
'0%':0
}.get(score)
print(foo('100%')) #输出5
print(foo('80%')) #输出4
通过匿名函数实现
def foo(score,x):
return{
'100%':lambda x:x+5,
'80%':lambda x:x+4,
'60%':lambda x:x+3,
'40%':lambda x:x+2,
'20%':lambda x:x+1,
'0%':lambda x:x+0,
}[score](x)
print(foo('100%',0)) #输出5
print(foo('80%',0)) #输出4