day13作业—(登录注册)

2.写一个函数完成三次登陆功能:

  1. 用户的用户名密码从一个文件register中取出。
  2. register文件包含多个用户名,密码,用户名密码通过|隔开,每个人的用户名密码占用文件中一行。
  3. 完成三次验证,三次验证不成功则登录失败,登录失败返回False。
  4. 登陆成功返回True。
    def login():
        for em in range(3):    #三次跳出
            my_user, my_pwd = input('user|pwd:').strip().split('|')#列表分别赋值
            with open('register','r',encoding='utf-8')as f:
                for i in f:
                    user,pwd = i.strip().split('|')
                    if my_user == user and my_pwd ==pwd:
                        return True
                else:
                    print('用户名或密码错误')
        else:
            return False#三次跳出
    print(login())  #return  返回True  打印

    3.再写一个函数完成注册功能:

    (1)用户输入用户名密码注册。

    (2)注册时要验证(文件regsiter中)用户名是否存在,如果存在则让其重新输入用户名,如果不存在,则注册成功。

    (3)注册成功后,将注册成功的用户名,密码写入regsiter文件,并以 | 隔开。

    (4)注册成功后,返回True,否则返回False。

  5. def register():
        lis = []
        while 1:
            with open('regsiter', 'r+', encoding='utf-8')as f:
                user, pwd = input('user|pwd').strip().split('|')
                for i in f.read().strip('').split('\n'):  # ['liuyang|123', 'mengge|234', 'qingge|345', 'binge|456', 'hongjunge|567']
                    my_user, my_pwd = i.split('|')  # ['liuyang', '123']  liuyang 123
                    lis.append(my_user)
                if user in lis:
                    print('重新输入')
                    return False  # 注释了这两句 可以一直输出
                else:
                    f.write(f'\n{user}|{pwd}')
                    print('写入成功!')
                    return True
    print(register()

     

posted @ 2019-03-19 09:42  learnacode  阅读(193)  评论(0编辑  收藏  举报