# 二:周末综合作业:
# 2.1:编写用户登录接口
# 1、输入账号密码完成验证,验证通过后输出"登录成功"
# 2、可以登录不同的用户
# 3、同一账号输错三次锁定,(提示:锁定的用户存入文件中,这样才能保证程序关闭后,该用户仍然被锁定)
tag = True
daisuoding = []
while tag:
with open("D:\pythonyanshi\作业考试\账号密码", mode="rt", encoding="utf8")as f,\
open("D:\pythonyanshi\作业考试\黑名单", mode="rt", encoding="utf8")as hei:
accout = input("请输入账号密码")
password = input("请输入密码")
res=hei.read()
for i in f:
acout,pwd = i.strip().split(":")
if acout == accout and password == pwd:
print("恭喜登录成功")
tag = False
break
else:
print("登录失败")
daisuoding.append(accout)
didi = daisuoding.count(accout)
if accout in res:
print("不好意思你的账号已经被锁定")
tag = False
break
if didi == 2:
with open("D:\pythonyanshi\作业考试\黑名单", mode="at", encoding="utf8")as f_2:
f_2.write("{}\n".format(accout))
if tag == False:
break
# 2.2:编写程序实现用户注册后(注册到文件中),可以登录(登录信息来自于文件)
#
# while True:
# msg = """
# 0 退出
# 1 登录
# 2 注册
# """
# print(msg)
# cmd = input('请输入命令编号>>: ').strip()
# if not cmd.isdigit():
# print('必须输入命令编号的数字,傻叉')
# continue
#
# if cmd == '0':
# break
# elif cmd == '1':
# # 登录功能代码(附加:可以把之前的循环嵌套,三次输错退出引入过来)
# pass
# elif cmd == '2':
# # 注册功能代码
# pass
# else:
# print('输入的命令不存在')
#
# # 思考:上述这个if分支的功能否使用其他更为优美地方式实现
# 2.2:编写程序实现用户注册后(注册到文件中),可以登录(登录信息来自于文件)
while True:
msg = """
0 退出
1 登录
2 注册
"""
print(msg)
cmd = input('请输入命令编号>>: ').strip()
if not cmd.isdigit():
print('必须输入命令编号的数字,傻叉')
continue
if cmd == '0':
break
elif cmd == '1':
# 登录功能代码(附加:可以把之前的循环嵌套,三次输错退出引入过来)
for i in range(3):
with open('D:\pythonyanshi\作业考试\账号密码', mode="rt", encoding="utf8")as f:
for i in f:
acout = input("请输入账号ya").strip()
pwd = input("请输入密码").strip()
accout,pwdd=i.strip().split(":")
if acout == accout and pwdd==pwd:
print("登陆成功")
com = input("请输入命令")
while True:
if com == "q":
break
else:
print("命令正在执行{}".format(com))
break # break是退出if判断 这个才是退出while循环
else:
print("账号密码错误")
else:
print("错误次数较多关闭")
break
elif cmd == '2':
# 注册功能代码
int_a = input("请输入账号")
int_b = input("请输入密码")
with open('D:\pythonyanshi\作业考试\账号密码', mode="at", encoding="utf8")as f:
f.write("\n{}:{}".format(int_a, int_b))
else:
print('输入的命令不存在')
# 思考:上述这个if分支的功能否使用其他更为优美地方式实现