• 微信公众号:美女很有趣。 工作之余,放松一下,关注即送10G+美女照片!

用户注册&登陆失败

开发技术 开发技术 7天前 10次浏览
# n_and_p = [{'dog1':'123'},{'dog2':'234'},{'dog3':'345'},{'dog4':'456'},{'dog5':'567'},{'dog6':'678'},{'dog7':'789'},]
# with open('E:/dog.txt',mode='w+',encoding='utf-8') as f0:
#     for i in n_and_p:
#         for a, b in i.items():
#             f0.write('用户名:' + a + 't' + '密码:' + b + 'n')      # 用户名与密码已在文件夹中生成

line1 = []
flag = 1
with open('E:/dog.txt',mode='r+',encoding='utf-8') as f:
    lines = f.readlines()
    for line in lines:
        line0 = line.strip('用户名:'+'密码:'+'n')
        line1 = line0.split('t')
        i = 0
        if flag == 0:
            break
        while i < 3:
            if flag == 0:
                break
            name0 = input("请输入用户名:")
            password0 = input("请输入密码:")
            if name0 == line1[0] and password0 == line1[1]:
                print("登陆成功!请稍后")
                flag = 0
            elif name0 == line1[0] and password0 != line1[1]:
                i += 1
                if i == 3:
                    print("账户密码不正确!!已退出系统")
                    flag = 0
                else:
                    print("输入错误,请重新输入!!")
                    print("剩余%s次机会" % (3 - i))
            else:                                    # 没有就注册
                ask = input('您还没有注册,是否注册(Y or N):')
                if ask.upper() == 'Y':
                    name1 = input('请输入注册用户名:')
                    password1 = input('请输入注册密码:')
                    f.write('用户名:' + name1 + 't' + '密码:' + password1 + 'n')   # 读写
                    print('已登录')
                    flag = 0

                elif ask.upper() == 'N':
                    print('Thanks')
                    flag = 0
                else:
                    print('输入错误,系统退出')
                    flag = 0

结果为:请输入用户名:dog1

请输入密码:12456
输入错误,请重新输入!!
剩余2次机会
请输入用户名:dog1
请输入密码:45678
输入错误,请重新输入!!
剩余1次机会
请输入用户名:dog1
请输入密码:12345678
账户密码不正确!!

请输入用户名:11
请输入密码:22
您还没有注册,是否注册(Y or N):y
请输入注册用户名:33333
请输入注册密码:5555
已登录
请输入用户名:11
请输入密码:22
您还没有注册,是否注册(Y or N):n
Thanks

不足之处:文件的操作r+  —> 先读后写,可以改进–>formate格式

可取之处:break只能跳出一层循环,还是要用到flag来跳出整体循环。

文件是txt,里面的内容:

用户名:dog1    密码:123
用户名:dog2    密码:234
用户名:dog3    密码:345
用户名:dog4    密码:456
用户名:dog5    密码:567
用户名:dog6    密码:678
用户名:dog7    密码:789
用户名:444    密码:666
用户名:11    密码:4444444
用户名:33333    密码:5555
用户名:33    密码:33333

 

 

初次尝试,请多多批评指正!


程序员灯塔
转载请注明原文链接:用户注册&登陆失败
喜欢 (0)