编写登录接口

# -*-coding:UTF-8 -*-
'''
编写登录接口
    输入用户名和密码
    认证成功后显示欢迎信息
    输错三次后锁定
'''

import json
import os

#读取禁用名单
def get_blacklist():
    f = open(r'blacklist.txt', 'r')
    blacklist = f.readlines()
    n = 0
    for i in blacklist:
        i = i.splitlines()[0]
        blacklist[n] = i
        n = n + 1
    f.close()
    return blacklist


#添加锁定名单到黑名单中
def add_blacklist(id):
    f = open(r'blacklist.txt', 'a+')
    f.write('\n'+id)
    f.close()



#注册
def register():
    if os.path.exists(r'register.json'):
        f = open(r'register.json', 'r')
        register_list=json.loads(f.read())
        f.close()
    else:
        register_list={}
    f = open(r'register.json', 'w')
    # print(register_list)
    id = input('请输入注册账号:')
    pass_word = input('请设置登录密码:')
    while id in register_list.keys():
        print('账号已存在,请重新输入')
        id = input('请输入注册账号:')
        pass_word = input('请设置登录密码:')
    register_list[id] = pass_word
    print(register_list)
    f.write(json.dumps(register_list))
    f.close()

# register()


#读取注册名单
def get_register():
    if os.path.exists(r'register.json'):
        f = open(r'register.json', 'r')
        register = json.loads(f.read())
        f.close()
        return register
    else:
        register = {}
        return register



while True:
    id = input('请输入账号:')
    # 在锁定文件中查询是否账号已锁定
    blacklist = get_blacklist()
    if id in blacklist:
        print('账号%s已被锁定,禁止登录'%id)
        break
    # 查询账号是否已注册
    register = get_register()
    if id not in register.keys():
        print('账号不存在')
        break
    else:
        n = 3
        while n > 0:
            pass_word = input('请输入密码:')
            if pass_word == register[id]:
                print('登录成功')
                break
            else:
                n = n-1
                print('密码错误,请重新输入,输错3次后账号将锁定,还有%s次机会'%n)
                if n == 0:
                    add_blacklist(id)
                    print('账号%s已被锁定,禁止登录'%id)
        break

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值