• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

python3登录验证小程序,同一用户输错三次密码,锁定账户

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

'''

让用户输入用户名密码

认证成功后显示欢迎信息
用户3次认证失败后,退出程序,再次启动程序尝试登录时,还是锁定状态
'''

 

# !/usr/bin/env python
# -*- coding:utf-8 -*-
# Author:Hiuhung Wan

'''
让用户输入用户名密码
认证成功后显示欢迎信息
用户3次认证失败后,退出程序,再次启动程序尝试登录时,还是锁定状态
'''

dic_user_info = {
    "usera": {"pw": "123", "err_count": 0},
    "userb": {"pw": "123", "err_count": 0},
    "userc": {"pw": "123", "err_count": 0},
    "userd": {"pw": "123", "err_count": 0},
    "usere": {"pw": "123", "err_count": 0},
}
# 创建一个黑名单文件,这里把usera列入黑名单
try:
    with open('blacklist.txt', 'r') as f:
        if not f.read():  # 没有内容,就写入
            with open('blacklist.txt', 'a') as f:
                f.write("usera,")
except FileNotFoundError as e:   # 没有这个文件,就创建并写入内容
    with open('blacklist.txt', 'a') as f:
        f.write("usera,")
finally:
    f.close()   # 关闭文件。


for i in range(100):
    username = input("请输入用户名(按q退出程序):")
    # 按q退出程序
    if username == 'q':
        exit()

    # 用户名不在字典中
    elif username not in dic_user_info:
        print("无此账户,请检查您的输入")
        continue

    # 用户在字典中,但被锁定
    with open('blacklist.txt', 'r') as f:
        user_locked_list = f.read().split(",")
        if username in user_locked_list:
            print("账户%s已被锁定。。。请更换另一个账户" % username)
            f.close()
            continue
        f.close()

    # 用户在字典中,也未被锁定,则提示输入密码
    password = input("请输入密码:")
    if password == dic_user_info[username]["pw"]:    # 密码正确
        print("欢迎【%s】登录系统。。。" % username)
        break
    else:   # 密码错
        dic_user_info[username]["err_count"] += 1  # 记录错误次数
        if dic_user_info[username]["err_count"] < 3:
            print("密码不对,您已经输错%d次密码了,输错3次账户将被锁定" % dic_user_info[username]["err_count"])
        else:   # dic_user_info[username]["err_count"] >= 3:  # 输错3次,录入黑名单数据库
            with open('blacklist.txt', 'a') as f:
                f.write("%s," % username)
                f.close()
                print("输错3次密码,此账户已加入黑名单")
                break

  


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
微信小程序生命周期、页面生命周期、组件生命周期发布时间:2022-07-18
下一篇:
微信小程序本地存储有关方法发布时间:2022-07-18
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap