猫史档案馆


【Python作品分享】switch

用户:宝可梦_呱呱泡蛙宝可梦_呱呱泡蛙查看:0 回复:0 评论:0 创建时间:2020-12-05T09:43:36


【作品展示】

center_image

 

【作品介绍】

模拟其他语言switch语句。偶尔在一本书上看到用字典模拟switch语句,便创作了这个作品。

附带两个自定义异常类哦!

 

【作品源代码】

class ErrorBase(Exception):
    pass
class SwitchError(ErrorBase):
    pass

def switch(cases_dict,var,has_default,default_value=None):
    if has_default:
        items = list(cases_dict.items())
        for item in items:
            key = item[0]
            if key.lower() == 'default':
                default_value = item[1]
                break
        else:
            default_value = default_value
        return cases_dict.get(var,default_value)
    else:
        try:
            return cases_dict[var]
        except KeyError:
            raise SwitchError("Parameter var not in switch dict.We are trying to improve it.If you have idea,email joeyzhu20111@outlook.com Thanks!")

 

【提示】

部分含有Python第三方库相关内容的作品,在海龟编辑器网页端无法运行哦!如遇到这种情况,可以打开下面的链接,下载海龟编辑器客户端:

https://python.codemao.cn


回复

上一页1 页 / 共 0下一页