#ATM 练习
def login():
print("登陆功能")
def transfer():
print("转账功能")
def check_balance():
print("查询余额")
def register():
print("注册功能")
while True:
print("""
1:登陆功能
2.转账功能
3.查询余额
4.注册功能
""")
choice=input("请输入编号:").strip()
if not choice.isdigit():
print("请输入正确的指令")
continue
if choice=="0":
break
func_dic={"1":login,'2':transfer,'3':check_balance,'4':register}
if choice in func_dic:
func_dic[choice]()
else:
print("输入的指令不存在")
/usr/local/bin/python3.8 /Users/futantan/PycharmProjects/S14/函数的学习/函数对象.py
1:登陆功能
2.转账功能
3.查询余额
4.注册功能
请输入编号:1
登陆功能
1:登陆功能
2.转账功能
3.查询余额
4.注册功能
请输入编号:2
转账功能
1:登陆功能
2.转账功能
3.查询余额
4.注册功能
请输入编号:3
查询余额
1:登陆功能
2.转账功能
3.查询余额
4.注册功能
请输入编号:4
注册功能
1:登陆功能
2.转账功能
3.查询余额
4.注册功能
请输入编号:5
输入的指令不存在
1:登陆功能
2.转账功能
3.查询余额
4.注册功能
请输入编号:6
输入的指令不存在
1:登陆功能
2.转账功能
3.查询余额
4.注册功能
请输入编号:aa
请输入正确的指令
1:登陆功能
2.转账功能
3.查询余额
4.注册功能
优化程序
def login():
print("登陆功能")
def transfer():
print("转账功能")
def check_balance():
print("查询余额")
def register():
print("注册功能")
func_dic={"0":['退出功能',None],
'1':["登陆功能",login],
'2':["转账功能",transfer],
'3':["查询余额",check_balance],
'4':["注册功能",register]}
while True:
for k in func_dic:
print(k,func_dic[k][0])
choice = input("请输入编号:").strip()
if not choice.isdigit():
print("请输入正确的指令")
continue
if choice == "0":
break
if not choice.isdigit():
print("请输入正确的指令")
continue
if choice in func_dic:
func_dic[choice][1]()
else:
print("输入的指令不存在")
0 退出功能
1 登陆功能
2 转账功能
3 查询余额
4 注册功能
请输入编号:1
登陆功能
0 退出功能
1 登陆功能
2 转账功能
3 查询余额
4 注册功能
请输入编号:2
转账功能
0 退出功能
1 登陆功能
2 转账功能
3 查询余额
4 注册功能
请输入编号:3
查询余额
0 退出功能
1 登陆功能
2 转账功能
3 查询余额
4 注册功能
请输入编号:4
注册功能
0 退出功能
1 登陆功能
2 转账功能
3 查询余额
4 注册功能
请输入编号:5
输入的指令不存在
0 退出功能
1 登陆功能
2 转账功能
3 查询余额
4 注册功能
请输入编号:aa
请输入正确的指令
0 退出功能
1 登陆功能
2 转账功能
3 查询余额
4 注册功能
请输入编号: