用户注册登录,可以注册新用户;当登录用户名或者密码错误3次就锁定用户不能再登录
1.流程图

2.代码
#!/usr/bin/env python
# -*- coding:utf-8 -*-
#Author Kevin Liu
usertable = "usertable"
lock_list = "lock_list"
def login():
i = 0
for i in range(3):
username = input("请输入用户名:")
with open(lock_list,"r") as f:
for line in f.readlines():
if username == line.strip("\n"):
print("%s用户已经被锁定,即将退出!" % username)
exit()
with open(usertable,'r')as user_login:
for line in user_login.readlines():
user,passwd = line.strip('\n').split("|")
j = 0
while j < 3:
password = input("请初入密码:")
if username == user and password == passwd:
print("登录成功!")
return True
exit()
else:
print("用户名或者密码错误!")
print("这是第 %d 次登录失败" % (j+1))
j += 1
else:
print("账户已经被锁定")
print(username)
block(username)
return False
def register(username,password):
"""
用户注册模块
:param username:
:param password:
:return:
"""
f = open("usertable",'a')
temp = "\n"+username+"|"+password
f.write(temp)
f.close()
def block(username):
"""
输入三次失败就把锁定的用户名写入阻止名单,下次进入优先查看lock_list名单
:param username:被写入的阻止用户
:return:没有返回值
"""
with open(lock_list,"a") as f:
f.write(username)
f.write("\n")
def main():
t = input("1:登录;2:注册")
if t == "1":
r = login()
elif t == "2":
user = input("请输入用户名:")
pwd = input("请输入密码:")
register(user,pwd)
print("注册成功")
main()

浙公网安备 33010602011771号