python作业(二)实现注册功能和登陆功能
#1、实现注册功能
输入:username、passowrd,cpassowrd
#最多可以输错3次
#3个都不能为空
#用户名长度最少6位, 最长20位,用户名不能重复
#密码长度最少8位,最长15位
#两次输入的密码要一致
#注册成功之后,要写到文件里面
#2、登陆功能实现:
#3次
用户名和密码你去文件里面取
一、注册
1 f=open('users.txt','a+') 2 f.seek(0) 3 res=f.read() 4 all_users=[] 5 for i in res.split('/n'): 6 username=i.split(',')[0] 7 all_users.append(username) 8 for i in range(3): 9 username=input('username:') 10 pwd=input('pwd:') 11 cpwd=input('cpwd') 12 if len(username)<6 and len(username)>20: 13 print('用户名输入大于六位,小于20位') 14 elif len(pwd)>8 and len(pwd)<15: 15 print('密码输入最小8位,最大15位') 16 elif username in all_users: 17 print('用户名已注册') 18 elif pwd!=cpwd: 19 print('两次输入不一致') 20 else: 21 info='%s,%s' %(username,pwd) 22 f.write(info) 23 print('注册成功') 24 break 25 else: 26 print('输入次数太多') 27 28 f.close()
二、登录
1、第一种方法:直接取文件中的值进行对比
1 f=open('users.txt','r') 2 res=f.read() 3 allnamep=res.split('\n') 4 for i in range(3): 5 username=input('username') 6 pwd=input('pwd') 7 user_info=username+','+pwd 8
9 if user_info not in allnamep: 10 print('帐号密码不存在') 11 else: 12 print('登陆成功') 13 14 f.close()
2、第二种方法:将文件读取出来,存入字典,从字典中取值进行取比
1 userall={} 2 f=open('users.txt','r') 3 res=f.read() 4 for i in res.split('\n'): 5 if i.strip()!='': #判断res不等于空的行 6 username = i.split(',')[0] 7 pwd=i.split(',')[1] 8 userall[username]=pwd 9 #print(userall) 10 for i in range(3): 11 username=input('username:') 12 pwd=input('pwd:') 13 if username in userall: 14 if pwd==userall.get(username): 15 print('登陆成功') 16 else: 17 print('帐号/密码错误')