登录小程序

2022/1/18 17:09:16

本文主要是介绍登录小程序,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

# ### 登录小程序
# 账户密码会预先记录在文件中
# 输入账号密码:如果都正确,登录成功
# 如果用户登录时进行三次校验,都不对,记录黑名单文件中
# 如果是黑名单的用户,禁止下次再次登录

# 账户列表
accountlist = []
# 密码列表
pwdlist = []
# 黑名单列表
blacklist = []

# 用户user.txt文件数据格式:
# 账号:密码
# ....

with open("user.txt",mode="a+",encoding="utf-8") as fp:
    fp.seek(0)
    lst = fp.readlines()
    # print(lst)
    
    for i in lst:
        user,pwd = i.strip().split(":")
        accountlist.append(user)
        pwdlist.append(pwd)
    
    # 账户列表和密码列表,按照相同的索引下标一一对应
    # print(accountlist) # ['wangwen', 'lisi', 'zhangsan', 'zhaoliu']
    # print(pwdlist)     # ['111', '222', '333', '666']
    
    sign = True
    while sign:
        name = input("请输入您的用户名: ")
        if name in accountlist:
            # 打开黑名单,
            with open("black.txt",mode="a+",encoding="utf-8") as fp:
                fp.seek(0)
                lst = fp.readlines()
                for i in lst:
                    blacklist.append(i.strip())
                # print(blacklist)
            
            # 检测是否是拉黑的用户
            if name in blacklist:
                print("抱歉~ 该账户已经被冻结,请联系客户人员~")
            else:
                # 走到这个分支,说明是合法用户,可以让用户输入密码
                index_num = accountlist.index(name)
                # 通过索引号获取密码
                pwd_true = pwdlist[index_num]
                # 控制密码输错次数不超过3次
                times = 1
                while times <= 3:
                    ask_pwd = input("请输入您的登录密码:")
                    if ask_pwd == pwd_true:
                        print("恭喜您~ 登录成功~")
                        sign = False
                        break
                    else:
                        # 剩下次数 = 总次数-使用过的次数
                        print("抱歉您的密码输入错误,还剩下{}机会".format(3-times))
                        if times == 3:
                            print("抱歉~,输错三次,您的账号被冻结~")
                            # 把当前用户拉黑,记录到黑名单中
                            with open("black.txt",mode="a+",encoding="utf-8") as fp:
                                strvar = name + "\n"
                                fp.write(strvar)
                    times +=1
        elif name.upper() == 'Q':
            break
        else:
            print("抱歉,该用户名不存在")

 



这篇关于登录小程序的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程