zoukankan      html  css  js  c++  java
  • python学习之函数对象、函数嵌套以及闭包函数作业

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

    def log_in():
        print('登录功能')
    
    def register():
        print('注册功能')
    
    def check_balance():
        print('查询余额')
    
    def withdraw():
        print('提现')
    
    def transfer():
        print('转账')
    
    cmd_dic = {
        '0':('退出',exit),
        '1':('注册',register),
        '2':('登录',log_in),
        '3':('查询余额',check_balance),
        '4':('提现',withdraw),
        '5':('转账',transfer)
    }
    while True:
        for k,v in cmd_dic.items():
            print('{:>4}  {}'.format(k,v[0]))
        cmd = input('请输入命令编号:').strip()
        if not cmd.isdigit():
            print('必须输入数字')
        elif cmd in cmd_dic:
            cmd_dic.get(cmd)[1]()
        else:
            print('你输入的命令编号不存在')
    

    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 counter():
            nonlocal x
            x = x + 1
            return x
        return counter
    
    counter = outter()
    print(counter())
    print(counter())
    print(counter())
    print(counter())
    print(counter())
    
  • 相关阅读:
    HTTP学习笔记(1)ULR语法
    wsdl地址如何在远程服务器上查看源码?
    java线程详解(三)
    java线程详解(二)
    java线程详解(一)
    java中this用法总结
    Linux运行python程序
    如何获取到Java对象的地址
    IDEA 远程调试
    linux环境中mysql默认端口3306无法连接问题排查
  • 原文地址:https://www.cnblogs.com/leilijian/p/12533242.html
Copyright © 2011-2022 走看看