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('帐号/密码错误')