文件处理小程序周末作业

# 二:周末综合作业:
# 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分支的功能否使用其他更为优美地方式实现
posted @ 2021-03-13 17:45  欧阳锦涛  阅读(42)  评论(0)    收藏  举报
TOP 底部