实战案例:用户管理系统(字典版)


用户管理系统(字典版)功能要求:

1、提供信息输出功能;

2、增加、删除、修改、查询用户的功能;

思维:

第一步:我们要思考用户的信息应该如何存储;

分析:

? 1、确认需要的用户信息:

? 姓名:老王

? 地址:隔壁

? 性别:男

? 年龄:18

注意:

1.信息是成对的呈现,故确认用户信息需要用字典来存储;

  1. 而且每一个字典存储一个用户信息;

2、这样会产生很多个字典,字典是单个的元素,故我们可以用列表来存储所有的字典;

? (这里涉及到了列表和字典的结合运用)

结论:用列表保存所有存储了用户信息的字典;

第二步:思考逻辑分析

1、需要提供打印功能;

2、接收用户的输入,并判断用户输入是否合法;

3、根据用户输入的选项,进入不同的功能界面;

4、完善各个模块的功能;

几大功能设置:

增加用户功能设置:

1.接收用户的输入(昵称、年龄、地址、性别);创建一个空字典,并储存进去;

2.将一份完整的用户信息,即一个字典,添加到列表中;

3.输出一次用户列表

删除用户功能设置:

1.判断用户需要删除的信息是否存在;

2.如果存在,就删除信息所在的字典;

修改用户功能设置:

1.判断用户需要修改的信息是否存在;

2.判断用户需要修改的信息是什么?(昵称、年龄、地址、性别)

3.选择对应的属性进行修改;

查询用户功能设置:

1.判断用户需要查询的信息是否存在;

2.如果存在,则输出用户有关的信息;

代码示例:

# 定义一个元组
user_input_number = ("1","2","3","4","5")

# 定义用户的类型
user_input_type = ("年龄","地址","昵称","性别")

# 定义列表用于存储用户信息(字典)
user_info_list = list()

while True:
    # 输出信息
    print("欢迎使用名片管理系统".center(24))
    print("=" * 30)
    print("1. 新增用户")
    print("2. 删除用户")
    print("3. 修改用户")
    print("4. 查询用户")
    print("5. 退出系统")
    print("=" * 30)

    # 接收用户输入
    user_input = input("请输入你想要的功能编号:")
    # 判断用户输入是否合法
    if user_input in user_input_number:
        if user_input == "1": # 增加用户
            # 创建字典保存用户信息
            user_info_dict = dict()
            # 接收用户输入
            user_name = input("请输入添加用户的昵称:")
            user_age = input("请输入添加用户的年龄:")
            user_sex = input("请输入添加用户的性别:")
            user_addr = input("请输入添加用户的地址:")
            # 添加数据到字典
            user_info_dict["昵称"] = user_name
            user_info_dict["年龄"] = user_age
            user_info_dict["性别"] = user_sex
            user_info_dict["地址"] = user_addr
            # 将用户信息添加到列表
            user_info_list.append(user_info_dict)
            # 输出用户列表
            print("当前用户列表:",user_info_list)
        elif user_input == "2": # 删除用户
            # 接收用户的输入
            user_name = input("请输入删除用户的昵称:")
            # 判断用户信息是否存在
            for i in user_info_list:  # i 每次都是一个字典,这个字典存储了一个用户完整的信息
                # 取出当前字典里面存储的用户昵称
                nick_name = i.get("昵称")
                if nick_name == user_name:
                    print("本次查询到用户 {} 找到了".format(user_name))
                    print("用户 {} 删除中!".format(user_name))
                    # 删除当前用户所在的字典
                    user_info_list.remove(i)
                    # 输出用户列表
                    print("当前用户列表:", user_info_list)
                else:
                    print("当前输入用户本次没有查询到!")
        elif user_input == "3": # 修改用户
            # 接收用户的输入
            user_name = input("请输入修改用户的昵称:")
            # 判断用户信息是否存在
            for i in user_info_list:  # i 每次都是一个字典,这个字典存储了一个用户完整的信息
                # 取出当前字典里面存储的用户昵称
                nick_name = i.get("昵称")
                if nick_name == user_name:
                    # 接收用户输入的信息
                    user_input_select = input("请输入需要修改的属性:")
                    if user_input_select in user_input_type:
                        # 输入修改后的值
                        new_type = input("请输入新的值:")
                        # 进行修改
                        i[user_input_select] = new_type
                        # 输出用户列表
                        print("当前用户列表:", user_info_list)
                    else:
                        print("请输入正确的属性!")
                else:
                    print("本次未查询到需要修改的用户!")
        elif user_input == "4": # 查询用户
            # 接收用户的输入
            user_name = input("请输入查询用户的昵称:")
            # 判断用户信息是否存在
            for i in user_info_list:  # i 每次都是一个字典,这个字典存储了一个用户完整的信息
                # 取出当前字典里面存储的用户昵称
                nick_name = i.get("昵称")
                if nick_name == user_name:
                    print("用户查询成功!")
                    print("用户昵称:{}".format(nick_name))
                    print("用户性别:{}".format(i.get("性别")))
                    print("用户年龄:{}".format(i.get("年龄")))
                    print("用户地址:{}".format(i.get("地址")))
                else:
                    print("本次未查询到需要修改的用户!")
        else:
            print("感谢使用!下次再来!")
            break
    else:
        print("请输入正确的数字!")

相关