1、函数对象优化多分支if的代码
def func1(): print("功能1") def func2(): print("功能2") def func3(): print("功能3") def func4(): print("功能4") dic_func = {"0":("退出",exit),"1":("功能1",func1),"2":("功能2",func1),"3":("功能3",func1),"4":("功能4",func1)} import time while True: for key in dic_func: print(key,dic_func[key][0]) cmd = input("请输入指令:") if cmd.isdigit(): if cmd in dic_func: dic_func[cmd][1]() else: print("不存在该指令!") else: print("请输入数字!") input("请按Enter键继续。")
2、编写计数器功能,要求调用一次在原有的基础上加一
''' 温馨提示: I:需要用到的知识点:闭包函数+nonlocal II:核心功能如下: def counter(): x+=1 return x 要求最终效果类似 print(couter()) # 1 print(couter()) # 2 print(couter()) # 3 print(couter()) # 4 print(couter()) # 5 '''
def outter(): x = 0 def couter(): nonlocal x x += 1 # 相当于x = x + 1 NameError:name 'couter' is not defined return x return couter couter = outter() print(couter()) print(couter()) print(couter()) print(couter()) print(couter())