Python实现账号密码输错三次即锁定功能简单示例
本文介绍了使用Python实现账号密码输错三次即锁定用户的功能。通过读取本地文件记录锁定状态,结合循环验证逻辑,确保账户在多次错误尝试后被安全锁定。示例代码展示了基础实现与完善版本的区别,适合初学者学习文件读写及条件判断的应用。
本文通过一个具体的Python示例,详细讲解了如何实现账号在密码连续输错三次后自动锁定的功能。该示例旨在为读者提供实用的参考代码,帮助理解相关逻辑的实现方式。
这是Python入门学习阶段的第一个实践案例。
#实现账号输错三次即锁定
user = "hubery"
passwd = "123"
confirm = 0
lock=0
fileOpen = open("username.txt","a+")
fileOpen.seek(0)
for i in range(3):
username = input("username:")
passsword = input("password:")
for line in fileOpen.readlines():
if username == line.strip():
print("账户已经锁定!")
lock=1
break
else:
continue
fileOpen.seek(0)
if user == username and lock ==0:
if passwd == passsword:
print("欢迎,欢迎!")
confirm = 1
break
else:
print("账号户或者密码错误!")
continue
elif lock==1:
continue
else:
print("1账号或者密码错误!")
continue
fileOpen.close()
if confirm == 0 and lock==0:
fileWrite=open("username.txt","a")
fileWrite.write(username+"\n")
fileWrite.close()
该基础版本已经能够正常实现核心的锁定功能。
当前逻辑中,被锁定的账号记录为第三次输入错误的用户名,此部分细节后续仍有待进一步完善。
以下是经过优化和完善的代码版本。如果在使用过程中发现任何错误,欢迎及时反馈告知。
import os
user = "hubery"
passwd = "123"
count = 0
lock = 0
fileOpen = open("username.txt", "a+")
fileOpen.seek(0)
while 1:
for i in range(5):
username = input("username:")
passsword = input("password:")
for line in fileOpen.readlines():
if username == line.strip():
print("账户已经锁定!")
lock = 1
break
else:
continue
fileOpen.seek(0)
if user == username:
if lock == 1:
continue
elif passsword == passwd:
print("欢迎,欢迎!")
os._exit(0)
elif count < 2:
print("账号或者密码错误!")
count += 1
continue
else:
fileOpen.write(username + "\n")
fileOpen.flush()
print("密码输入错误超过三次,账户已经锁定!")
fileOpen.seek(0)
continue
else:
print("账号密码错误!")
continue
check=input("还想验证其他账户?(yes-继续,no-退出)")
if "no"==check.lower():
os._exit(0)
else:
continue
fileOpen.close()
如果您对Python编程感兴趣,还可以查阅本站提供的其他专题内容,包括《Python数据结构与算法教程》、《Python编码操作技巧总结》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》以及《Python入门与进阶经典教程》,以获取更全面的学习资源。
希望本文提供的示例和说明能对您的Python程序设计学习有所帮助。
免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。









