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

  • 6
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值