用户登录作业

#Author LvZunhua
def login():
    with open('user','r',encoding ='utf-8') as f: #打开用户列表配置文件
        con = f.readlines()#把读到的用户按每行当做一个元素返回到一个列表中
    allname=[] #初始化一个用户列表
    allpasswd=[]#初始化用户密码
    for i in range(0,len(con)): #获取con列表的长度
        l=con[i]#获取每一行的内容并放到变量中,方便下面分割获取用户名和密码
        ls = l.split()#把取到的每一行按空格分割成返回到一个列表中
        allname.append(ls[0])#把每一行分割取到的用户名追加到初始化的用户列表中
        allpasswd.append(ls[1])
    #print(allname)
    #print(allpasswd)
    with open('lockname','r',encoding = 'utf-8') as f:
        lname=f.readlines()  #打开锁定用户配置文件列表,并把取到的用户名按每一行返回到一个列表中 comment-注释、说明

    for  i in range(3):#循环三次,三次输入密码错误锁定用户。
        username = input('login user:')#让用户输入用户名,并获取用户名放到变量中
        userpasswd = input('login passwd:')#获取用户的密码
        if username not in allname:#判断用户名是否在不在初始化用户列表中
            print('No this account!')
        elif (username+'\n') in lname:#用户名在锁定的用户列表中
            print('your name has been locked! Please contact admin!')
        else:
            passwd_index=allname.index(username)#用户名正常,获取用户名在初始化列表中的索,用户名和密码在列表中的索引相同,根据索引判断用户名密码是否正确
            if userpasswd == allpasswd[passwd_index]:
                print ('login success!!!')
                break
            else:
                print('password id error!!!')
                if i == 2:#用户名正确,密码不正确,第三次输入密码错误,打印错误信息,并把用户锁定。
                    print('Excessive passwd error,your account has been locked! please contact admin!')
                    nf = open('lockname','a',encoding='utf-8')
                    nf.write(username+'\n')
                    nf.close()
login()

 

转载于:https://www.cnblogs.com/laolv/p/7097637.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值