PYTHON自学手册--用户登陆接口

本文介绍了一个使用Python实现的用户登录接口案例。该接口能够处理用户名和密码的输入,并具备基本的安全特性,如限制错误尝试次数及账号锁定功能。文章通过具体代码展示了如何读取黑白名单用户文件,验证用户身份,以及如何在多次尝试失败后锁定账户。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

    # PYTHON自学手册--用户登陆接口

要求编写登录接口 :

  • 输入用户名和密码
  • 认证成功后显示欢迎信息
  • 用户名输错,提示用户不存在,重新输入(5次错误,提示尝试次数过多,退出程序)
  • 用户名正确,密码错误,提示密码错误,重新输入.(密码错误3次,锁定用户名并提示,退出程序)

流程图

这里写图片描述
黑名单用户文件
这里写图片描述

白名单用户文件
这里写图片描述

代码如下:

import sys
with open('white_user.txt','r',encoding='utf-8')as w_user,\
open('black_user.txt','r',encoding='utf-8')as b_user:
user_lis_bak=b_user.read().split(',')#黑名单列表
user_lis_dict={}
for i in w_user:
    #print(i)
    user_lis_dict.setdefault(i.split()[0],i.split()[1])
for i in range(5):
    name = input('请输入用户名:')
    if name in user_lis_bak:
        print('用户名已被锁定')
        continue
    elif name in user_lis_dict:
        for count in range(3):
            password = input('请输入密码:')
            if password == user_lis_dict.get(name):
                print('亲爱的会员,欢迎回来!')
                sys.exit(0)
            else:
                if count==2:
                    name_bak_white = open('black_user.txt', 'a', encoding='utf-8')
                    name_bak_white.write(name + ',')
                    name_bak_white.close()
                    print('用户名已被锁定')
                    sys.exit(0)
                print('密码错误,请重新输入')
                continue

     else:

         if i == 4:
         print('尝试次数过多,退出')
         continue
w_user.close()
b_user.close()
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值