用户三次登录锁定

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用户三次登录锁定相关的知识,希望对你有一定的参考价值。

需求
    编写登陆接口
    让用户输入用户名密码
    认证成功后显示欢迎信息
    输错三次后退出程序
    可以支持多个用户登录
    用户3次认证失败后,退出程序,再次启动程序尝试登录时,还是锁定状态
测试信息
   用户           密码
   alex            123
   egon            456

   锁定用户        密码
   lyndon           789

流程图:

技术分享

脚本实现:

#!/bin/env python
# -*- coding:utf-8 -*-
# 用字典定义用户名和密码
db={‘egon‘:‘123‘,‘alex‘:‘456‘,‘lyndon‘:‘789‘}
"""
需要先创建文件user_list
a、a+ 能创建文件,但不能按行读取文件内容
w、w+ 能创建文件,但每次执行会清空文件内容
r、r+ 能按行读取文件内容,但不能创建不存在的文件
只能手动创建了,心累。。。
"""
# 按行读取user_list内容,以列表形式赋值给lock_list
f=open(‘user_list‘,‘r‘)
lock_list=f.readlines()
lock_list=lock_list.__str__()
f.close()

while True:
    print ("""
==========================
【E】     登录
【Q】     退出
==========================
    """)
    choice=input (‘请输入你的选择:‘)
    if choice.lower() == ‘q‘:
        break
    elif choice.lower() != ‘q‘ and choice.lower() != ‘e‘:
        print (‘输入错误,请重新输入‘)
    if choice.lower() == ‘e‘:
        username=input (‘请输入用户名:‘)
        if username not in db:
            print (‘没有此用户!‘)
            continue
        elif username in lock_list:
            print (‘该用户已锁定,请联系管理员解锁!‘)
            continue
        else:
            for i in range(3):
                passwd=input (‘请输入密码:‘)
                if passwd != db.get(username):
                    print (‘密码错误!‘)
                    if i == 2:
                        f = open(‘user_list‘,‘a‘)
                        f.writelines(‘%s\n‘%username)
                        f.close()
                        print (‘密码错误三次,用户已锁定!‘)
                        exit()
                else:
                    print (‘登陆成功!‘)
                    break


本文出自 “lyndon” 博客,请务必保留此出处http://lyndon.blog.51cto.com/11474010/1947417

以上是关于用户三次登录锁定的主要内容,如果未能解决你的问题,请参考以下文章

连续三次登陆失败锁定账户

PYTHON3次登录,登录不成功锁定

python 3次登录锁定

Python 模拟三次用户登录,登录失败锁定账号并写入文件

Python用户登录三次锁定

3次登录锁定