Day13作业及默写
1. 整理今天的博客,写课上代码,整理流程图。
博客链接--博客园
2. 写一个函数完成三次登陆功能:
- 用户的用户名密码从一个文件register中取出。
- register文件包含多个用户名,密码,用户名密码通过|隔开,每个人的用户名密码占用文件中一行。
- 完成三次验证,三次验证不成功则登录失败,登录失败返回False。
- 登陆成功返回True。
echo 'long|123' > register
def Wrapper(auth_type):
def Outer(func_name):
with open('register',mode='r',encoding='utf-8') as file:
AccountDic = dict()
for line in file:
Key,Value = line.split('|')
AccountDic[Key] = Value.strip()
def LocalFile(*args,**kwargs):
print('以本地文件存储形式登陆')
if AccountDic.get(args[0]):
if AccountDic[args[0]] == args[1]:
print('登陆成功!')
return True
else:
print('登陆失败')
return False
if auth_type == 'filetype':
return LocalFile
return Outer
@Wrapper(auth_type='filetype')
def login(username,password):
print(f'你的用户名:{username},密码:{password}')
for i in range(3):
ret = login(input('Username:').strip(),input('Password:'.strip()))
if ret :break
3.再写一个函数完成注册功能:
- 用户输入用户名密码注册。
- 注册时要验证(文件regsiter中)用户名是否存在,如果存在则让其重新输入用户名,如果不存在,则注册成功。
- 注册成功后,将注册成功的用户名,密码写入regsiter文件,并以 | 隔开。
- 注册成功后,返回True,否则返回False。
def Regsiter(auth_type):
def Outer(func_name):
with open('register',mode='r',encoding='utf-8') as file:
AccountDic = dict()
for line in file:
Key,Value = line.split('|')
AccountDic[Key] = Value.strip()
def LocalFile(*args,**kwargs):
print('以本地文件存储形式登陆')
if AccountDic.get(args[0]):
print('用户名已经存在请重新输入用户名')
return False
else:
print('用户注册成功')
with open('register',mode='a',encoding='utf-8') as file:
file.write(f'{args[0]}|{args[1]}')
return True
if auth_type == 'filetype':
return LocalFile
return Outer
@Regsiter(auth_type='filetype')
def login(username,password):
print(f'你的用户名:{username},密码:{password}')
login(input('Username:').strip(),input('Password:'.strip()))
明日默写:
- 写一个装饰器,求运行时间
- 写一个匿名函数
Day13作业及默写的更多相关文章
- Day29作业及默写
作业: 1\ 默写 黏包协议 2\ 上传大文件(文件\视频\图片) 3\ 和你的同桌调通 从你的计算机上传一个视频到你同桌的电脑上 4\ 进阶 : 带上登录 Server #Server #!/usr ...
- Day20作业及默写
1.请使用C3算法计算出链接图中的继承顺序-Link 一 graph BT id1[A]-->id2[B] id2[B]-->id6[F] id6[F]-->id7[G] id1[A ...
- Day11作业及默写
1.写函数,传入n个数,返回字典{'max':最大值,'min':最小值} 例如:min_max(2,5,7,8,4) 返回:{'max':8,'min':2}(此题用到max(),min()内置函数 ...
- Day10作业及默写
1,继续整理函数相关知识点,写博客. 2,写函数,接收n个数字,求这些参数数字的和.(动态传参) def func(*number): sum=0 for num in number: sum+=nu ...
- Day14作业及默写
1.整理今天所学内容,整理知识点,整理博客. pass 2.画好流程图. pass 3.都完成的做一下作业(下面题都是用内置函数或者和匿名函数结合做出): pass 4.用map来处理字符串列表,把列 ...
- Day9作业及默写
1,整理函数相关知识点,写博客. 2,写函数,检查获取传入列表或元组对象的所有奇数位索引对应的元素,并将其作为新列表返回给调用者. def func(obj): return obj[1::2] 3, ...
- Day8作业及默写
1,有如下文件,a1.txt,里面的内容为: 老男孩是最好的培训机构, 全心全意为学生服务, 只为学生未来,不为牟利. 我说的都是真的.哈哈 分别完成以下的功能: 将原文件全部读出来并打印. with ...
- Day7作业及默写
1. 判断一个数是否是水仙花数, 水仙花数是一个三位数, 三位数的每一位的三次方的和还等于这个数. 那这个数就是一个水仙花数. 例如: 153 = 1**3 + 5**3 + 3**3 InputNu ...
- Day6作业及默写
1.使⽤循环打印以下效果: 1: * ** *** **** ***** for num in range(1,6): print('*' * num) 2: ***** **** *** ** * ...
随机推荐
- python记录_day25 包
1.包就是一个文件夹 当我们导入一个包的时候,默认执行这个包内的__init__.py文件 在python2中必须写__init__.py文件,python3中可以不写,但是最好也写上 代码的结构: ...
- 『流畅的Python』第10章笔记_序列类型
一.基础知识 “__”前缀:私有属性.方法,在__dict__中存储时被改写为“_类名__”前缀 “_”前缀:是约定俗成的保护属性.方法,不过编译器不会对之采取任何处理 二.class特殊方法介绍 在 ...
- ActiveMQ 中的链表
ActiveMQ 中的消息在内存中时,以链表形式保存,以 PendingList 表示,每一个消息是 PendingNode. PendingList 主要有2种实现:OrderedPendingLi ...
- 使用Spring-data-jpa(2)(三十一)
创建实体 创建一个User实体,包含id(主键).name(姓名).age(年龄)属性,通过ORM框架其会被映射到数据库表中,由于配置了hibernate.hbm2ddl.auto,在应用启动的时候框 ...
- 统计一行文本的单词个数 (15 分) 本题目要求编写程序统计一行字符中单词的个数。所谓“单词”是指连续不含空格的字符串,各单词之间用空格分隔,空格数可以是多个。 输入格式: 输入给出一行字符。 输出格式: 在一行中输出单词个数。 输入样例: Let's go to room 209. 输出样例: 5
MD,一开始就想着怎么 用空格和结尾前判断字母 来计算写的头的爆了, 反过来判断空格后面是否有 =‘ ’就尼玛容易多了 #include<stdio.h> #include<stdl ...
- CAFFE 调试
在Make.config 文件里将DEBUG=1的注释去掉,再make.可以用IDE如eclipse来import makefile工程.必要时按照IDE的提示将源文件cpp和对应的bin文件对应.
- ci框架多语言切换
1.多语言切换首先配置config文件默认语言 2.创建自己的语言包:language chinese english目录下的语言包文件名必须以 xx_lang.php 可根据自己的需求创建数组: ...
- Centos 7.4 源码 Nginx 安装
一.安装编译工具及库文件 yum -y install make zlib zlib-devel gcc-c++ libtool openssl openssl-devel 二.首先要安装 PCRE ...
- CAD绘制栏杆5.10
REC绘制一个矩形,(40,40)回车.通过它的中点移动到扶手的中点用移动工具把它往右边稍微移动.在三维图中EXT命令拉伸它,拉到扶手底面.如图选择三维扶手,右击,加栏杆,选择我们绘制的栏杆,单元宽度 ...
- 记录一次面试中的HTTP请求相关问题
1.HTTP中的状态码分别代表什么 比较基础,自行百度. 2.HTTP请求,响应头部content-length用来做什么的 答:Content-Length首部告诉浏览器报文中实体主体的大小.这 ...