Python3实现用户登录验证与三次错误锁定机制
本文分享基于Python3.5的用户登录实现代码。程序通过读取配置文件验证用户名与密码,支持三次错误尝试后自动锁定账户。代码展示了文件IO操作、字典存储及循环控制逻辑,适合Python初学者理解基础登录验证流程。
本示例代码基于Python3.5版本编写。
1. 功能要求
1)接收用户输入的用户名和密码; 2)验证成功后显示欢迎信息; 3)若连续输错三次密码,则锁定该账户。
2. 需求分析
1)用户数据存储在文件(login/config/user_login.txt)中; 2)程序接收用户输入的用户名和密码; 3)检查用户名是否存在,若不存在则提示重新输入; 4)检查用户名是否已被锁定,若已锁定则退出程序,否则继续验证; 5)匹配文件中的用户信息; 6)若密码匹配成功,打印欢迎信息; 7)若连续3次密码输入错误,将该用户名写入锁定文件(login/config/name_lock.txt)。
3. 测试数据
bigberg:123abc lc:123456 smallberg:111111 root:12345 dinasor:12321
# -*- coding: UTF-8 -*-
#Author:Bigberg
#定义一个循环计数
count = 0
#定义一个字典存储用户名和密码
names={}
#定义一个列表存储用户名
name_exit = []
#输入用户名
username = input("username:")
#判断输入的用户的用户是否在用户名单中
with open("../config/name_login.txt",'r') as f:
while True:
line = f.readline().strip()
if not line:
break
else:
name = line.split(':')[0]
passwd = line.split(':')[1]
names[name] = passwd
for key in names:
name_exit.append(key)
#判断用户名是否正确,不正确则继续输入
while username not in name_exit:
print("The account is not exit.Check it again.")
username = input("username:")
else:
# 读取锁定文件中的内容
with open("../config/name_lock.txt", "r") as f:
lock_name = f.read()
# 判断用户名是否在锁定文件中,如果在就退出程序
if username == lock_name:
print("Sorry.Your account has been locked.")
exit()
else:
# 3次输入密码的机会
while count < 3:
passwd_input = input("password:")
# 判断用户名和密码是否有效
if passwd_input == names[username]:
print("Welcome!", username)
break
else:
print("Error,please try again.")
count += 1
# 如果3次输入密码错误,则将用户名添加到锁定文件
if count == 3:
with open("../config/name_lock.txt", "w") as f:
f.write("%s" % username)
print("You have tried 3 times,and your account will be locked")
总结
以上就是本文关于Python基础练习之用户登录实现代码分享的全部内容,希望对大家有所帮助。感兴趣的朋友可以继续参阅本站:Python入门之三角函数全解【收藏】、python好玩的项目—色情图片识别代码分享、Python实现一个简单的验证码程序等,有什么问题可以随时留言,小编会及时回复大家的。感谢朋友们对本站的支持!
免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。









