Python实现简单的用户登录信息确认,密码输错3次后,用户被锁定

Posted lz-calm

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python实现简单的用户登录信息确认,密码输错3次后,用户被锁定相关的知识,希望对你有一定的参考价值。

‘‘‘问题描述:
从文档中读入用户名和密码,检验用户名和密码的正确性,
密码输错三次后用户被锁定,不允许登陆
解决思路:
1.读用户信息文档,存入二维列表中,
2.需要把锁定的拉入黑名单
3.只有用户名输对的情况下才可以输入密码,密码输错三次用户就被锁定
‘‘‘


#User_Info存用户名和密码,Lock_Info存被锁定的用户
file = open(r"User_Info.txt","r")
file2 = open(r"Lock_Info.txt","r+")
user = file.readlines()#读用户名和密码
black_user =file2.readlines()#存黑名单
_user = []
_black_user = []


#把user_info,txt的用户信息存入列表_user
for info in user:
temp = info.strip(‘ ‘)
temp2 = temp.split(‘ ‘)
_user.append(temp2)
#把user_info,txt的用户信息存入列表_user
for info in black_user:
temp = info.strip(‘ ‘)
temp2 = temp.split(‘ ‘)
_black_user.append(temp2)


while True:
username = input("Please input your username:")
#先判断用户是否在黑名单中
for i in range(len(_black_user)):
if username == _black_user[i][0]:
print("user has been locked")
exit() # 直接退出
#当不再黑名单时。判断在不在user_info中,如果不再就不停输入用户名
for i in range(len(_user)):
if i == len(_user) - 1 and username != _user[len(_user) - 1][0]:
print("username does not exist;")
break
if username != _user[i][0]:
continue
else:
count = 0 #密码计数器
passwd = input("Please input your passwd:")
while count < 3:
if passwd == _user[i][1]:
print("Successfully login in...")
exit() #break只是退出while循环,仍会进行下次for循环,所以登陆成功直接exit()退出程序
elif count < 2:
print("wrong passwd.please input again.")
passwd = input("Please input your passwd:")
count +=1
else:
print("you have tried 3 times.your acount have been locked...")
file2.write(_user[i][0] + " " + _user[i][1] + " ")#被锁后用户信息读到中
exit()
file.close()
file2.close()

技术分享图片

 






























































以上是关于Python实现简单的用户登录信息确认,密码输错3次后,用户被锁定的主要内容,如果未能解决你的问题,请参考以下文章

Python(入门小练习2)

python基础实践模拟用户登录

python日记,简单的密码登录

如何教你用python 3 写简单的登录模块

python运维平台开发第一步:登录接口程序V2.0

编写登录接口 输入用户名密码 认证成功后显示欢迎信息 输错三次后锁定