python写一个函数完成三次登陆功能,再写一个函数完成注册功能(升级题)

x = [] # 创建一个空列表
dic = {} # 创建一个空字典
def denglu(): # 定义一个函数
    s = 0 # 循环次数
    while s < 3:
        w = 3  # 次数3
        with open("用户信息", mode="r", encoding="utf-8") as f:
            username = input("请输入账号:")  # 用户输入账户
            password1 = input("请输入密码:")  # 用户输入密码
            for i in f:
                x.append(i.strip().split("_")) # 处理后获得的数据[["110","123"],["123","110"]]
            for k, v in x:
                dic[k] = v  # {'110': '123', '123': '110'}
                x2=[] # 创建一个空列表
            for i1 in dic.keys(): # 获取键和值
                if username == i1: # 判断用户输入的账户是否正确
                    if password1 == dic[i1]: # 判断用户的密码是否正确
                        print("登录成功")
                        return
            else:
                s += 1
                print("账户或密码错误,还剩下%d次" % (w-s))
def zhuce():
    user = input("是否创建账号(Q\q退出):")  # 用户操作
    with open("用户信息",mode="r",encoding="utf-8") as f:
        if user.upper() == "Q": # 判断是否退出
            print('退出成功!!!')
            return yemian() # 调用页面函数,返回页面
        else:
            name = input("设置账户:") # 用户输入账号
            password = input("设置密码:") # 用户输入密码
            for i in f:
                x.append(i.strip().split("_")) # 处理后获得的数据 [["110","123"],["123","110"]]
            for k, v in x:
                dic[k] = v  # 获取的数据是 {'110': '123', '123': '110'}
            x1 = [] # 创建一个空列表
            for i1 in dic.keys(): # 获取键
                x1.append(i1)
            if name in x1: # 判断name是否存在x1
                print("账户已存在,请重新输入")
            else:
                with open("用户信息",mode="a",encoding="utf-8") as f: # 以追加打开文件
                    f.write(name+"_"+password+"\n") # 内容写入文件
            print("创建成功")
    return yemian() # 调用页面函数,返回页面
def yemian():
    print("1、登录")
    print("2、注册")
    print("3、退出")
    xuanze = input("选择对应的操作:") # 用户操作
    if xuanze == "1": # 判断需要操作
        denglu() # 调用登录函数
    elif xuanze == "2":
        zhuce() # 调用注册函数
    elif xuanze == "3":
        return "退出成功"
yemian() # 调用页面函数
  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值