Day2笔记(作业)
1、写注册的程序,账号密码存到文件里面,最多输入3次 1py
input('username:')
input('passwd:')
input('cpasswd:')
#1、账号、密码和确认密码都不能为空
#2、要校验账号是否存在,不存在才可以注册
#3、两次输入密码是否一致
#4、账号不区分大小
#5、账号和密码长度要大于等于6,小于等于12
f = open('user.txt','a+',encoding='utf-8')
f.seek(0)
user=[]
for lien in f:
user.append(lien.split(',')[0])
for i in range(3):
username = input('username:\n').lower()
passwd = input('passwd:\n')
cpasswd = input('cpasswd:\n')
if 12 < len(username) or 6 > len(username) or username.strip() == '':
print("用户名长度需大于六位或小于十二位且不能为空!")
elif 12 < len(passwd) or 6 > len(passwd) or passwd.strip() == '':
print("密码长度需大于六位或小于十二位且不能为空!")
elif passwd != cpasswd:
print('两次密码输入不一致!')
else:
if username in user:
print('用户名已存在')
else:
print('恭喜你,注册成功!')
f = open('user.txt', 'a+', encoding='utf-8')
f.write(username+','+passwd+'\n')
f.close()
break
f.close()
2、登录 2py(不包含选做)
input('username:')
input('passwd:')
#1、账号、密码不能为空
#2、要校验账号是否存在,不存在要提示
#3、最多输入3次
#4、账号不区分大小
#5、账号和密码长度要大于等于6,小于等于12
选做
#6、每次登录的时候密码错误,就这个账号的后面加一个失败次数,
#7、如果失败次数大于3次的话,提示账号已经被锁定。
f = open('user.txt', 'a+',encoding='utf-8')
f.seek(0)
r=(f.read()) #将分割后的文本保存成一个list
f.close()
userlist=r.split()#默认以空格或者换行符分隔字符串,返回值为list
userdic={}#定义一个空字典,存放所有账号
for i in userlist:#循环列表,取出每一个值
username,password=i.split(',')#列表里的每一个值以“,”分隔字符串,“,”前面的是值账号,“,”后面的值是密码
userdic[username]=password #以字典的形式存起来
for a in range(3):
username = input('username:\n').lower()
passwd = input('passwd:\n')
bb = username + ',' + passwd
if 12 < len(username) or 6 > len(username) or username.strip() == '':
print("用户名长度需大于六位或小于十二位且不能为空!")
elif 12 < len(passwd) or 6 > len(passwd) or passwd.strip() == '':
print("密码长度需大于六位或小于十二位且不能为空!")
elif username not in userdic:
print('账号不存在')
elif bb in userlist:
print('登录成功')
break
else:
print('密码错误')
浙公网安备 33010602011771号