active = None
#程序执行的标识符
def verification(username):
""
"验证用户是否锁定"
""
locked_users = []
with open(
"locked_file"
)
as
locked_f:
for
line in locked_f:
locked_user,locked_pwd = line.split(
":"
)
locked_users.append(locked_user)
print
(locked_users)
if
username in locked_users:
print
(
"对不起,你的用户名已经被锁定,请联系管理员!"
)
else
:
active = Truereturn active
def is_registered(username):
""
"验证用户是否注册,注册就让用户登录,未注册让用户选择重新输入或者注册"
""
users = {}
with open(
"active_file"
,
"r+"
)
as
f:
for
active_line in f:
user,pwd = active_line.split(
":"
)
users[user] = pwdif username in users.keys():
test_num = 0while test_num < 3:
user_pwd = input(
"请输入您的密码:"
)
if
user_pwd == users[username]:
print
(
"welcome back,have a good time!"
)
return
Falseelse:
test_num += 1else:
#用户输入三次以上锁定用户,使用的是
while
...
else
...方法
print
(
"对不起,你输入的次数过多,你的用户已经被锁定,请联系管理员!"
)
mes =
"\n"
+ username +
":"
+ users[username]
with open(
"locked_file"
,
"a"
)
as
f1:
f1.write(mes)
return
Falseelse:
print
(
"您输入的用户名不存在,请按照下面的提示选择!"
)
print
(
"注册:请输入1\n登录:请输入2"
)
num = input(
"请输入你的选择:"
)
if
num ==
"1"
:
register_name = input(
"请输入你要注册的用户名:"
)
while
True:
register_pwd = input(
"请输入你的密码:"
)
register_pwd2 = input(
"请再次输入你的密码:"
)
if
register_pwd == register_pwd2:breakelse:
print
(
"您输入的密码不对,请重新输入"
)
message =
"\n"
+ register_name +
":"
+ register_pwd
print
(
"Thank for your registing,have a good time!"
)
with open(
"active_file"
,
"a"
)
as
f_obj:
f_obj.write(message)
return
False
elif num ==
"2"
:
user_name = input(
"请重新输入你的用户名:"
)
verification(user_name)
if
__name__ ==
"__main__"
:
username = input(
"请输入你的用户名:"
)
active = verification(username)
while
active:
active = is_registered(username)