为了账号安全,请及时绑定邮箱和手机立即绑定

python下 如何科学设计一个命令列表执行对应流程?

python下 如何科学设计一个命令列表执行对应流程?

哔哔one 2019-02-23 19:58:08
最近搞微信机器人,需要设计一个命令列表对应执行一系列程序,比如要:查积分 findScore()加积分 addScore()减积分 subtractScore()踢人 kick()设置谁为黑名单 blacklist() 然后想要用正则表达式来匹配,但是正则表达式要2行代码才行,用if elif的话非要写成def 才能一行写下,而且绑定流程也很麻烦,刚学python只知道基本的语法,不知道python的技巧,直觉上觉得应该可以吧命令和执行流程变成key->value的形式,但是又不知道用python应该怎么优雅的写出来,所以想请教各位大神,各显神通哇~!
查看完整描述

2 回答

?
料青山看我应如是

TA贡献1772条经验 获得超8个赞

同楼上, 用dic

def get_option():
    return "逗你玩"


def find_score():
    pass


def add_score():
    pass


def sub_tract_score():
    pass


def kic():
    pass


def blacklist():
    pass


def main(op):
    op_dic = {
        "查积分": find_score,
        "加积分": add_score,
        "减积分": sub_tract_score,
        "踢人": kic,
        "黑名单": blacklist,
    }
    op = op_dic.get(op)
    if op:
        return op()
    else:
        print("查无此令")
        
        
if __name__ == "__main__":
    option = get_option()
    main(option)
查看完整回答
反对 回复 2019-03-04
?
MM们

TA贡献1886条经验 获得超2个赞

用 dict ?

actions_d = {
'查积分': findScore,
'加积分': addScore,
'减积分': subtractScore,
'踢人': kick,
'设置谁为黑名单': blacklist,
}
actions_d.get(action, default_action)()
查看完整回答
反对 回复 2019-03-04
  • 2 回答
  • 0 关注
  • 508 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信