def login(user,pwd):
    '''
    用户名和密码验证
    :param user: 用户名
    :param pwd: 密码
    :return: True:用户名和密码正确,False:用户名或密码错误。
    '''
    with open('user_information.txt', 'r', encoding='utf-8') as f:
        for line in f:
            line = line.strip()
            userList = line.split('$')
            if user == userList[0] and pwd == userList[1] :
                return True
        return False

def register(user,pwd):
    '''
    用户注册,添加新的用户名和密码
    :param user: 用户名
    :param pwd: 密码
    :return: True:用户添加成功,False:用户已存在
    '''
    if is_exist(user):
        return False
    else:
        with open('user_information.txt', 'a+', encoding='utf-8') as f:
            newUser = '\n' + user + '$' +pwd
            f.write(newUser)
        return True

def is_exist(user):
    '''
    验证用户名是否已存在
    :param user: 用户名
    :return: True:用户名已存在,False:用户名不存在
    '''
    with open('user_information.txt', 'r', encoding='utf-8') as f:
        for line in f:
            line = line.strip()
            if user == line.split('$')[0]:
                return True
        return False

def main():
    '''
    用户注册、登陆
    :return: None
    '''
    print('-'*15,'欢迎光临','-'*15)
    inp = input('注册:1     登陆:2\n>>>')

    if inp == '1':
        user = input('请输入用户名:\n>>>')
        pwd = input('请输入密码:\n>>>')
        ret = register(user,pwd)
        if ret:
            print('注册成功!')
        else:
            print('用户名已存在!')

    else:
        user = input('请输入用户名:\n>>>')
        pwd = input('请输入密码:\n>>>')
        ret = login(user, pwd)
        if ret:
            print('登陆成功!')
        else:
            print('用户名或密码错误!')

main()