用python实现用户名密码校验的具体代码,仅供参考,具体内容如下
需要实现功能:
- 输入用户名密码 ;
- 认证成功后显示 欢迎信息 ;
- 连续输错三次后 锁定 ;
代码:
# Author ming
# version 3.5
# 输入用户名和密码
# 认证成功显示欢迎信息
# 连续输错三次锁定
count = 3
while True:
# 输入用户名密码:
username = input("username:")
password = input("password:")
# 打开用户名密码文件
file_login = open("login.txt")
# 打开锁定用户名文件
file_lock = open("login_lock.txt")
# 判断用户名是否在锁定文件中
for line in file_lock:
_username = line.strip()
if username == _username:
print(username,"被锁定")
break
else:
# 判断用户名密码是否正确
for line in file_login:
str = line.strip()
_str = " "
_username = str[:str.index(_str)]
_password = str[str.index(_str)+1:]
# 用户名密码都正确,跳出计数器并打印欢迎信息
if username == _username and password == _password:
print("欢迎",username,"登录成功!!!")
count = 3
break
# 用户名正确,密码错误,打印提示信息,计数器减1,并判断计数器是否到0
elif username == _username and password != _password:
count -= 1
print("密码错误!您还可以输入",count,"次数,超过3次该账户将被锁定")
# 计数器超过3次,将用户名写入锁定文件中,初始化计数器
if count == 0:
file_lock = open("login_lock.txt","a+")
file_lock.write(_username+"\n")
file_lock.close()
count = 3
break
# 用户名输入错误,输出提示信息
else:
print("请检查您的用户名输入是否错误")
count = 3
file_login.close()
注意:
py文件同一目录下新建两个文件:
- login.txt
- login_lock.txt
其中login.txt文件存放用户名密码,login_lock.txt存放锁定的用户名
login.txt的文件内容:
ming 1234 yao 1234 quan 1234