## 1、实现用户注册功能# 思路:# 用户输入用户名、密码# 将用户输入的内容按照固定的格式,好比:egon:123,存入文件# 能够往一个文件中重复注册新的用户名和密码# 附加:# 一、对输入的用户名进行合法性监测,不能以数字开头,且若是输入的用户名已存在于文件中则要求用户从新输入# 二、对输入的密码进行合法性监测,密码的长度至少6位,而且不能包含特殊字符*&$# y=[]# print('注册请填写如下信息')# tag=True# with open(r'db.txt', mode='rt', encoding='utf-8')as x:# for data_name in x:# d_name = data_name.strip('\n').split(':')# y.append(d_name[0])# # print(y)# while tag:# name = input('username>>>').strip()# if name[0].isdigit():# print('不能以数字开头,请从新输入')# continue# if name in y:# print('已被注册,请从新输入')# continue# while tag:# pwd = input('password>>>').strip()# if len(pwd)<6:# print('密码的长度至少6位')# continue# if pwd.find('$') != -1:# print('不能包含特殊字符*&$')# continue# else: print('注册成功')# with open(r'db.txt', mode='at', encoding='utf-8')as f:# data = '%s:%s\n' % (name, pwd)# f.write(data)# tag = False# 2、实现用户验证功能更:# 思路:# 用户输入帐号密码,从文件中读出帐号密码,与用户输入的进行比对# 附加:新建黑名单文件,同一个帐号名输错三次则将用户名写入黑名单文件中, # 若是用户输入的用户名存在于黑名单中则直接退出# y=[]# z=[]# b=[]# tag=True# count=0# with open(r'db.txt', mode='rt', encoding='utf-8')as x,open(r'black.txt', mode='rt', encoding='utf-8')as a:# for data_name in x:# d_name = data_name.strip('\n').split(':')# y.append(d_name[0])# z.append(d_name[1])# for data_black_name in a:# b_name = data_black_name.strip('\n')# b.append(b_name)# while tag:# name=input('username>>>').strip()# if name in b:# print('黑名单用户')# break# if name not in y:# print('用户名不存在')# continue# while tag:# pwd = input('password>>>').strip()# if count>=2:# print('输错三次,已列为黑名单')# with open(r'black.txt',mode='at',encoding='utf-8') as f:# f.write('%s\n' %name)# tag = False# break# if pwd not in z:# print('密码不存在')# count+=1# else:# print('登陆成功')# tag=False# y=[]# z=[]# b=[]# tag=True# count=0# with open(r'db.txt', mode='rt', encoding='utf-8')as x,open(r'black.txt', mode='rt', encoding='utf-8')as a:# for data_name in x:# d_name = data_name.strip('\n').split(':')# y.append(d_name[0])# z.append(d_name)# print(z)# for data_black_name in a:# b_name = data_black_name.strip('\n')# b.append(b_name)# while tag:# name=input('username>>>').strip()# if name in b:# print('黑名单用户')# break# if name not in y:# print('用户名不存在')# continue# while tag:# pwd = input('password>>>').strip()# if count>2:# print('输错三次,已列为黑名单')# with open(r'black.txt',mode='at',encoding='utf-8') as f:# f.write('%s\n' %name)# tag = False# break# if [name,pwd] not in z:# print('密码不存在')# count+=1# else:# print('登陆成功')# tag=False