亲宝软件园·资讯

展开

Python用户注册登录程序

%木糖醇---LHY% 人气:0

要求:

1.支持多个用户登录(把已有的用户名和密码存放在一个文件中,锁定的用户名存放在另一个文件中)

2.输入正确的用户名和密码,则登录成功;密码错误,可以重新输入密码两次;用户名错误,可以重新注册用户名,也可以重新输入用户名和密码。

3.用户名输入正确,密码错误三次后,锁定用户名,退出;

4.输入三次后,退出程序。

代码如下:

user_pw=open('username_file','r+',encoding='utf_8')  #打开存放用户名和密码的文件
lock_user=open('lock_file','r+',encoding='utf-8') #打开存放被锁定用户的文件
LU=[]#用来存放被锁定用户的用户名
UP_user=[] #用来存放文件中已有的用户名
UP_pw=[]#用来存放文件中已有用户的密码
in_user=[]#存放运行过程中用户输入的用户名,用来判断用户输入某一个用户名的次数是否超过3次
count=0 #计算用户的登录次数
count1=0 #计算用户输入密码的次数
#读取文件中存放的用户名和密码,并存放到列表UP_user和UP_pw中
for line in user_pw.readlines():
    u,p=line.split()#把一行的字符串按空格分割成两个字符串
    UP_user.append(u)
    UP_pw.append(p)
#读取用户名被锁定的用户,存放到列表LU中
for line in lock_user.readlines():
    l=line.strip()
    LU.append(l)
#用户输入用户名、密码少于三次
while count<3:
    user=input("请输入用户名")
    in_user.append(user)
    pw=input("请输入密码")
    if user in LU:#判断输入的用户名是否在被锁定用户中
        print("用户已锁定")
        break
    if user in UP_user:#输入的用户名没有被锁定
        i=UP_user.index(user)#找到输入的用户名在列表中的索引值
        if pw==UP_pw[i]:#找到相同索引的密码判断和输入的密码是否一致
            print("登录成功")
            break
        else:
            print("密码错误")
            while count1<2:#用来判断用户输入了几次密码(一共三次,最开始已经输入了一次,所以还剩两次)
                pw1=input("请重新输入密码")
                if pw1==UP_pw[i]:
                    print("登录成功")
                    break
                else:
                    print("密码错误")
                count1+=1
            count=3
            break
    else:
        print("该用户名未注册,注册请输入'yes',按任意键重新输入用户名")
        a=input()
        #注册
        if a=='yes':
            print(user)
            print(pw)
            user_pw.write(user+' '+pw+'\n')#把用户名密码存放到文件中
            UP_user.append(user)#把用户名和密码存放到数组中
            UP_pw.append(pw)
            print('注册成功')
    count+=1
if count==3:
    print("您输入的次数太多")
    for iu in in_user:
        if in_user.count(iu)>=3:
            lock_user.write(iu+'\n')#把输入超过三次的用户名锁定到文件中
            print('用户名'+iu+'已锁定')
            break
lock_user.closed
user_pw.closed

测试结果:

(1)

(2)

(3)

(4)

加载全部内容

相关教程
猜你喜欢
用户评论