装饰作业

1.

import timedef timmer(func):    def wrapper(*arg,**kwargs):        start_time = time.time()        res=func(*arg,**kwargs)        end_time = time.time()        print("运行时间:",end_time-start_time)        return res    return wrapper@timmerdef my_max(x,y):    time.sleep(1)    max = x if x>y else y    return max

my_max(3,5)print(my_max(3,5))

2.

def auth2(auth_type):    def auth(func):        def warpper(*args,**kwargs):            if auth_type == ‘ldap‘:                flag = True                while flag:                    with open("lock", "r",encoding="utf8") as f_read, open("account1", "r",encoding="utf8") as f_write:                        username = input("input your username:").strip()                        r=eval(f_write.read())                        if username in r :                            m = f_read.read()                            f = eval(m)                            if f[username] == 3:                                print("username is locked")                            else:                                while flag:                                    password = input("input your password")                                    if str(r[username]) == password:                                        print("successful")                                        func()                                        flag = False                                        break                                    else:                                        with open("lock", "w",encoding="utf8") as f_read:                                            number = int(f[username])                                            number += 1                                            f[username] = number                                            f_read.write(str(f))                                            if number == 3:                                                print("lock")                                                flag = False                        else:                            print("input right username")            else:                print("other")        return  warpper    return auth

@auth2(auth_type=‘ldap‘)def tell():    print("welcome to oldboy")

tell()
				
时间: 2024-11-06 15:27:04

装饰作业的相关文章

Python 迭代器&生成器,装饰器,递归,算法基础:二分查找、二维数组转换,正则表达式,作业:计算器开发

本节大纲 迭代器&生成器 装饰器  基本装饰器 多参数装饰器 递归 算法基础:二分查找.二维数组转换 正则表达式 常用模块学习 作业:计算器开发 实现加减乘除及拓号优先级解析 用户输入 1 - 2 * ( (60-30 +(-40/5) * (9-2*5/3 + 7 /3*99/4*2998 +10 * 568/14 )) - (-4*3)/ (16-3*2) )等类似公式后,必须自己解析里面的(),+,-,*,/符号和公式,运算后得出结果,结果必须与真实的计算器所得出的结果一致 迭代器&

day7装饰器作业(最后一题待补充)

# 一:编写函数,(函数执行的时间是随机的) import time import random # def foo(): # time.sleep(random.randrange(1,5)) # print('haha') # foo() # 二:编写装饰器,为函数加上统计时间的功能 # def timmer(func): # def wrapper(): # start_time=time.time() # func() # stop_time=time.time() # print('r

python之闭包函数 装饰器 作业

一:编写函数,(函数执行的时间是随机的) import randomdef t(): time.sleep(random.randrange(1,3)) print('hello')二:编写装饰器,为函数加上统计时间的功能 import timeimport randomdef timebe(func): def wrapper(*args,**kwargs): start_time=time.time() res = func(*args, **kwargs) end_time=time.ti

python装饰器作业

# user_dic={'xiaohong':'123','xiaobai':'123','xiaohei':'123'} # with open('idpd.txt','w',encoding='utf-8') as f: # f.write(str(user_dic)) # with open('idpd.txt','r',encoding='utf-8') as f2: # read=f2.read() # print(read) # user_dic=eval(read) #将user_

装饰器作业

题目大概要求: 源代码: log_in_status=False def log_in(f): def g(): global log_in_status if log_in_status==False: type=input("请选择登陆类型:1京东2微信") if(type=='1'): a=open("jingdong.txt") a.seek(0,0) USERNAME=a.readline() PASSWORD=a.readline() username=

Day4 - 迭代器&生成器、装饰器、Json & pickle 数据序列化、软件目录结构规范

---恢复内容开始--- 本节内容 迭代器&生成器 装饰器 Json & pickle 数据序列化 软件目录结构规范 作业:ATM项目开发 1.列表生成式,迭代器&生成器 列表生成式 需求:列表a = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9],要求把列表里的每个值加1 1 a = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] 2 b = [] 3 for i in a: 4 b.append(i+1) 5 a = b 6 print(a) 普通青

python3 装饰器

看廖雪峰官网的python3装饰器有感 装饰器即将一个函数作为变量在新的函数中调用此函数. 作业: 能否写出一个@log的decorator,使它既支持: @logdef f():     pass 又支持: @log('execute')def f():     pass      例1: import functools import time def log(*args,**kwargs):     # *args 是个元组     if args and isinstance(args,

python学习笔记第八节(函数的相关作业)

查看函数内部的注释 导入一个模块 加入一个装饰器,让用户调用函数的时候查看注释是函数本身的而不是装饰器的 调用加了装饰器的源代码功能 更改函数的注释信息 作业第四题,登录一次后面函数无须重复登录 函数内部可以改全局变量的列表,字典的元素,但是不能改变量,因为列表和字典是可变类型,赋值不是可变类型. 第六题,将get网页的内容缓存下来 迭代器 还记得我们用函数对象的概念,制作一个函数字典的操作吗,来来来,我们有更高大上的做法,在文件开头声明一个空字典,然后在每个函数前加上装饰器,完成自动添加到字典

python第二十二天-----在做作业当中............

作业 1, ATM:模拟实现一个ATM + 购物商城程序 额度 自定义实现购物商城,买东西加入 购物车,调用信用卡接口结账可以提现,手续费5%支持多账户登录支持账户间转账记录每月日常消费流水提供还款接口ATM记录操作日志提供管理接口,包括添加账户.用户额度,冻结账户等...用户认证用装饰器 程序结构:ATM/#综合目录|- - -atm/#atm程序主目录| |- - -README| |- - -__init__.py| |- - -bin/#执行程目录| | |- - -__init__.p