• day16


    1、函数对象优化多分支if的代码练熟

    def login():
        pass
    
    def check_balance():
        pass
    
    def withdraw():
        pass
    
    def transfer():
        pass
    
    def check_flow():
        pass
    
    def logout():
        pass
    
    def register():
        pass
    
    func_dic = {
        '0':('退出', logout),
        '1':('登录',login),
        '2':('查看余额',check_balance),
        '3':('提现', withdraw),
        '4':('转账', transfer),
        '5':('查看流水', check_flow),
        '6':('注册', register)
    }
    
    def run():
        while True:
            for i in func_dic:
                print(i, func_dic[i][0])
            choice = input('请输入功能编号:').strip()
            if choice == '0':
                break
            elif not choice.isdigit():
                print('请输入数字!')
                continue
            elif choice not in func_dic:
                print('请输入正确的功能编号')
                continue
            else:
                func_dic.get(choice)[1]()
    
    if __name__ == '__main__':
        run()
    

    ​ 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 func(x):
        def counter():
            nonlocal x
            x += 1
            return x
        return counter
    
    counter = func(0)
    print(counter()) #1
    print(counter()) #2
    print(counter()) #3
    print(counter()) #4
    print(counter()) #5
    

  • 相关阅读:
    k8s之pod与Pod控制器
    使用kubeadm部署k8s
    lamp架构
    数据库安装和基本操作
    mysql基础
    Helm Chart 一键部署 Jenkins
    使用 Helm Chart 部署及卸载 istio
    使用 chart 部署 skywalking
    豆瓣电影TOP250和书籍TOP250爬虫
    如何使用 Skywalking Agent ?
  • 原文地址:https://www.cnblogs.com/xy-han/p/12533488.html
Copyright © 2020-2023  润新知