优化elif代码案例

记一次优化多重if / elif代码案例

可以在只修改功能列表和函数定义情况下进行多功能的添加,简化添加步骤

# coding:utf-8
def login():
    print("login successful")


def search():
    print("search")


def close():
    print("close !")


# 通过字典调用函数
func_list = {'0': ['exit', None],
             '1': ['login', login],
             '2': ['search', search],
             '3': ['close', close]
             }

while True:
    # 打印功能表
    for k in func_list:
        print(k, func_list[k][0])
    choice = input("enter number: ").strip()
    # 判断 不是数字就继续
    if not choice.isdigit():
        print("enter number ! sb")
        continue
    if choice == '0':
        break
    # 简化多重elif带来的代码冗余
    if choice in func_list:
        func_list[choice][1]()
    else:
        print("error number")

你可能感兴趣的:(python,python,列表)