实战案例:用户管理系统(字典版)
用户管理系统(字典版)功能要求:
1、提供信息输出功能;
2、增加、删除、修改、查询用户的功能;
思维:
第一步:我们要思考用户的信息应该如何存储;
分析:
? 1、确认需要的用户信息:
? 姓名:老王
? 地址:隔壁
? 性别:男
? 年龄:18
注意:
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("请输入正确的数字!")