使用Python模拟实现的方法:
代码示例:
defswitch_if(fun,x,y):
iffun==’add’:
returnx+y
eliffun==’sub’:
returnx-y
eliffun==’mul’:
returnx*y
eliffun==’div’:
returnx/y
else:
returnNone
defswitch_dict(fun,x,y):
return{
‘add’:lambda:x+y,
‘sub’:lambda:x-y,
‘mul’:lambda:x*y,
‘div’:lambda:x/y,
}.get(fun,None)()
print(“switch_if(‘add’,1,2):”,switch_if(‘add’,1,2))
print(“switch_if(‘sub’,1,2):”,switch_if(‘sub’,1,2))
print(“switch_if(‘mul’,1,2):”,switch_if(‘mul’,1,2))
print(“switch_if(‘div’,1,2):”,switch_if(‘div’,1,2))
print(“switch_dict(‘add’,1,2):”,switch_dict(‘add’,1,2))
print(“switch_dict(‘sub’,1,2):”,switch_dict(‘sub’,1,2))
print(“switch_dict(‘mul’,1,2):”,switch_dict(‘mul’,1,2))
print(“switch_dict(‘div’,1,2):”,switch_dict(‘div’,1,2))
switch_if(‘add’,1,2):3
switch_if(‘sub’,1,2):-1
switch_if(‘mul’,1,2):2
switch_if(‘div’,1,2):0.5
switch_dict(‘add’,1,2):3
switch_dict(‘sub’,1,2):-1
switch_dict(‘mul’,1,2):2
switch_dict(‘div’,1,2):0.5