分支结构(switch)

来源:互联网 发布:淘宝店铺网名昵称大全 编辑:程序博客网 时间:2024/06/05 16:51

switch语句用于编写多分支结构的程序,类似与if….elif….else语句。
switch语句表达的分支结构比if…elif…else语句表达的更清晰,代码的可读性更高
但是python并没有提供switch语句。

python可以通过字典实现switch语句的功能,实现方法分为两步:
首先,定义一个字典
其次,调用字典的get()获取相应的表达式。

计算器:

from __future__ import divisiondef jia(x,y):    return x+ydef jian(x,y):    return x-ydef cheng(x,y):    return x*ydef chu(x,y):    return x/ydef operator(x,o,y):    if o=='+':        print (jia(x,y))    elif o=='-':        print (jian(x,y))    elif o=='*':        print (cheng(x,y))    elif o=='/':        print (chu(x,y))    else:        passoperator(2,'/',4)

用字典来实现switch操作

from __future__ import divisiondef jia(x,y):    return x+ydef jian(x,y):    return x-ydef cheng(x,y):    return x*ydef chu(x,y):    return x/yoperator={"+":jia,"-":jian,"*":cheng,"/":chu}print(operator["+"](3,2)) #operator["+"]等同于jiaprint (jia(3,2))  #operator["+"](3,2)等同于jia(3,2)

运行结果:
5
5

from __future__ import divisiondef jia(x,y):    return x+ydef jian(x,y):    return x-ydef cheng(x,y):    return x*ydef chu(x,y):    return x/yoperator={"+":jia,"-":jian,"*":cheng,"/":chu}def f(x,o,y):    p=operator.get(o)(x,y)    print(p)f(15,'/',5)
原创粉丝点击