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())