# 注册功能函数
def zhuce():
    """注册功能"""
    username = input('username: ').strip()
    pwd = input('password: ').strip()
    with open('保存账号.txt', 'a', encoding='utf8') as fa:
        fa.write(f"{username}:{pwd}\n")
        fa.flush()
# 登录功能函数
def denglu():
    """登录功能"""
    inp_username = input('username: ').strip()
    inp_pwd = input('password: ').strip()
    with open('保存账号.txt', 'rt', encoding='utf8') as fr:
        for user_info in fr:
            user_info = user_info.strip('\n')
            user_info_list = user_info.split(':')
            if inp_username == user_info_list[0] and inp_pwd == user_info_list[1]:
                print('登录成功')
                jisuanji()
                break
        else:
            print('失败')
def jisuanji():
    """计算机功能"""
    while True:
        # 提示用户输入第一个数字
        num1 = float(input("请输入第一个数字: "))
        # 提示用户输入操作符
        op = input("请输入操作符(+, -, *, /): ")
        # 如果用户输入的是除号,需要确认第二个数字是否为0
        if op == '/':
            num2 = float(input("请输入第二个数字(不能为0): "))
            if num2 == 0:
                print("错误:除数不能为0")
                continue
        else:
            num2 = float(input("请输入第二个数字: "))
        # 根据操作符计算结果
        if op == '+':
            result = num1 + num2
        elif op == '-':
            result = num1 - num2
        elif op == '*':
            result = num1 * num2
        elif op == '/':
            result = num1 / num2
        else:
            print("错误:无效的操作符")
            continue
        # 输出结果
        print("结果为:", result)
        # 询问用户是否继续计算
        choice = input("是否继续计算(y/n)?")
        if choice == 'n':
            break
mas=('1.登录\n2.注册\n3.退出\n')
fun_dict={'1':denglu,
          '2':zhuce,
          '3':exit,
}#将前面的功能写入字典方便用户选择时使用
while True:
    print(mas)
    gongneng=input('请选择你需要的功能:')
    if gongneng == '3':
        print('欢迎下次使用本功能列表')
        break
    fun_dict[gongneng]()#将1和2的功能放入里面实现应用