python3的switch case

第一次学习python,发现python3没有switch case ,查看了有关资料,在不涉及class的下,有用if ... elif......elif.....else的  还有用 map的   所以在这里我采用了map的方法。

card=[]
def fun1():  #往card中添加元素
    name=input(">>>")
    card.append(name)
    return name

def fun2():   #遍历card
    for name in card:
        print(name)

def fun3():   #退出程序 
    exit(0)


#自己定义的用来实现switch-case的方法
def function(x):
    swicher = {              #定义一个map,相当于定义case:func()
        '1':fun1,
        '2':fun2,
        '3':fun3,
        '4':lambda :print('default function')
    }
    func = swicher.get(x,'4') #从map中取出方法
    return func()   #执行

while True:
    cmd = input('command(enter integer) : ')
    function(cmd)

#结果:command(enter integer) : 1()
# >>>kkkk
# command(enter integer) : 1
# >>>333
# command(enter integer) : 2
# kkkk
# 333
#command(enter integer) : 3(退出程序)
后来感觉这样做有点2.

作为一个编程菜鸡,写的blogs有什么问题,还望大家多多指.

参考文献:https://www.pydanny.com/why-doesnt-python-have-switch-case.html

猜你喜欢

转载自blog.csdn.net/TruthK/article/details/78567295