0
点赞
收藏
分享

微信扫一扫

# yyds干货盘点 # 我如何每次运行程序时,都会将数据添加到对应的keys中,而不是重新创建一个dict啊?

大家好,我是Python进阶者。

一、前言

前几天在Python最强王者交流群【🇿 🇽 🇸】问了一个Python项目实战的问题,问题如下:请问,我如何每次运行程序时,都会将数据添加到对应的keys中,而不是重新创建一个dict啊。

# yyds干货盘点 # 我如何每次运行程序时,都会将数据添加到对应的keys中,而不是重新创建一个dict啊?_Python教程

二、实现过程

这里【东哥】基于粉丝的代码,做了一份修改,修改后的代码如下:

import json

def load_data():
    try:
        with open('user.json', 'r', encoding='utf-8') as f:
            return json.load(f)
    except FileNotFoundError:
        return {
            "用户名": [],
            "密码": [],
            "邮箱": []
        }

def login(data):
    print("欢迎来到图书管理系统注册页面~")
    while True:
        username = input("请输入用户名:\t")
        if len(username) < 5:
            print("用户名不能小于5位")
        else:
            if username not in data["用户名"]:  # 避免重复的用户名
                data["用户名"].append(username)
                email = input("请输入邮箱:\t")
                if email.endswith('@zxs.com'):
                    if email not in data['邮箱']:  # 避免重复的邮箱
                        data['邮箱'].append(email)
                        password = input("请输入密码:\t")
                        if len(password) >= 6:
                            data['密码'].append(password)
                            print(f"Tips: 恭喜{username}注册成功,请前往登录")
                            save(data)
                            break
                        else:
                            print("密码不能小于6位")
                    else:
                        print("邮箱格式错误,邮箱后缀必须是@zxs.com")
                else:
                    print("邮箱已存在,请使用其他邮箱注册")
            else:
                print("用户名已存在,请使用其他用户名注册")

def save(data):
    try:
        with open('user.json', 'w', encoding='utf-8') as f:
            json.dump(data, f, ensure_ascii=False, indent=4)
    except Exception as e:
        print("文件写入失败,请检查文件路径")

if __name__ == '__main__':
    data = load_data()  # 加载已有数据
    login(data)  # 调用登录函数

顺利地解决了粉丝的问题。

# yyds干货盘点 # 我如何每次运行程序时,都会将数据添加到对应的keys中,而不是重新创建一个dict啊?_Python_02

如果你也有类似这种Python相关的小问题,欢迎随时来交流群学习交流哦,有问必答!

三、总结

大家好,我是Python进阶者。这篇文章主要盘点了一个Python项目实战的问题,文中针对该问题,给出了具体的解析和代码实现,帮助粉丝顺利解决了问题。

最后感谢粉丝【🇿 🇽 🇸】提出的问题,感谢【东哥】给出的思路,感谢【莫生气】等人参与学习交流。

【提问补充】温馨提示,大家在群里提问的时候。可以注意下面几点:如果涉及到大文件数据,可以数据脱敏后,发点demo数据来(小文件的意思),然后贴点代码(可以复制的那种),记得发报错截图(截全)。代码不多的话,直接发代码文字即可,代码超过50行这样的话,发个.py文件就行。

# yyds干货盘点 # 我如何每次运行程序时,都会将数据添加到对应的keys中,而不是重新创建一个dict啊?_Python_03

举报

相关推荐

0 条评论