函数调用的方法千千万万,但是这一个真的是令我amazing啊!
定义了很多个函数,但是要在界面一一显示,我还不想让代码太繁琐冗余。
举个栗子,银行ATM机的界面,它会提示你转钱啦,退出啦,取钱啦,巴拉巴拉。这个时候你要定义相应的函数,然后再初始界面你害得写一堆if一个一个调用相应得函数,麻烦不死你,这时候你就需要一个风骚得操作,就是把所有的函数都封装在一个字典里,然后用判断输入得指令在不在字典里,在就调用。amazing!上代码
def login():
print("登录功能")
pass
def check_balance():
print("查询余额")
pass
def transfer():
print("转账功能")
pass
def check_out():
print("退出成功")
def withdraw():
print("提现")
func = {
'0': [None, '退出'],
'1': [login, '登录'],
'2': [transfer, '转账'],
'3': [check_balance, '查询余额'],
'4': [withdraw, '提现'],
}
while True:
for k in func:
print(k, func[k][1])
choice = input("请输入编号:").strip()
if not choice.isdigit():
print("请输入正确的编号")
continue
pass
if choice == '0':
break
pass
if choice in func:
func[choice][0]()
pass
else:
print('非法指令')
amazing