python基础学习-day16==课后作业练习(函数对象和闭包)

一:今日作业

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

def show_menu():
    """展示功能菜单栏"""
    print("==========ATM系统v1.0========")
    print("1. 充值")
    print("2. 转账")
    print("3. 提现")
    print("4. 查询")
    print("5. 退出")


def start():  

    while flag:
       
        show_menu()
        menu_option = input("请输入操作的功能选项:")
        if menu_option == "1":
            pay_money(login_user)
        elif menu_option == "2":
            transfer(login_user)
        elif menu_option == "3":
            withdraw(login_user)
        elif menu_option == "4":
            check_money(login_user)
        elif menu_option == "5":
            #把数据保存到文件中
            save_data()
            print("退出系统")
            break

start()

 


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 take_num():
    x = 0
    def counte():
        nonlocal x
        x+=1
        return x
    return counte

couter = take_num()
print(couter())
print(couter())
print(couter())
print(couter())
print(couter())

 

 
posted @ 2020-03-20 22:04  sunshine如你  阅读(370)  评论(0编辑  收藏  举报