基于字典的客户信息管理系统,使用列表嵌套字典完成。
代码逻辑参考【6.5-1Python之列表嵌套字典的使用】
在此基础上做优化处理:
# 初始化客户信息列表:字典嵌套字典,每一个客户的key值唯一
customers = {
"1001": {"name": "Alice", "age": 25, "email": "alice@example.com"},
"1002": {"name": "Bob", "age": 30, "email": "bob@example.com"},
"1003": {"name": "Charlie", "age": 35, "email": "charlie@example.com"}
}
while True:
print("""--------------欢迎进入客户管理系统--------------
1. 添加客户
2. 删除客户
3. 修改客户
4. 查询一个客户
5. 查询所有客户
6. 退出
-------------------------------------------""")
choice = input("请输入你的选择:")
# 1. 添加客户
if choice == "1":
id = input("请填写ID:")
# 若 ID 已存在,则提示已被使用
if id in customers:
print(f"该ID{id}已被注册使用!")
else:
name = input("请填写姓名:")
age = int(input("请填写年龄:"))
email = input("请填写邮箱:")
# 直接使用字典的添加操作
customers[id] = {
"name": name,
"age": age,
"email": email
}
print(f"你已添加新的客户信息:ID{id},{customers[id]}")
# 2. 删除客户
elif choice == "2":
# 判断是否有客户信息,无则提示
if not customers:
print("暂无客户信息!")
else:
delete_customer_id = input("请填写需要删除的客户ID:")
if delete_customer_id in customers:
print(f"已删除客户ID{delete_customer_id}的信息:{customers[delete_customer_id]}")
# 直接使用字典的删除操作
del customers[delete_customer_id]
else:
print(f"查无此客户ID:{delete_customer_id}")
# 3. 修改客户
elif choice == "3":
# 判断是否有客户信息,无则提示
if not customers:
print("暂无客户信息!")
else:
update_customer_id = input("请填写需要修改的客户ID:")
if update_customer_id in customers:
print(f"客户ID{update_customer_id}的信息:{customers[update_customer_id]}")
name = input("请填写修改后的姓名:")
age = int(input("请填写修改后的年龄:"))
email = input("请填写修改后的邮箱:")
# 直接使用字典的修改操作
customers[update_customer_id] = {
"name": name,
"age": age,
"email": email
}
print(f"已将客户ID{update_customer_id}的信息修改为:{customers[update_customer_id]}")
else:
print(f"查无此客户ID:{update_customer_id}")
# 4. 查询一个客户
elif choice == "4":
# 判断是否有客户信息,无则提示
if not customers:
print("暂无客户信息!")
else:
search_customer_id = input("请填写需要查询的客户ID:")
if search_customer_id in customers:
print(f"客户ID:{search_customer_id}:"
f"姓名:{customers[search_customer_id].get("name")},年龄:{customers[search_customer_id].get("age")},邮箱:{customers[search_customer_id].get("email")}")
else:
print(f"查无此客户的信息:{search_customer_id}")
# 5. 查询所有客户
elif choice == "5":
# 判断是否有客户信息,无则提示
if not customers:
print("暂无客户信息!")
else:
print("客户信息如下:")
for customer_key, customer_value in customers.items():
# 打印客户的相关信息
print("客户ID:", customer_key, f":姓名:{customer_value["name"]},年龄:{customer_value["age"]},邮箱:{customer_value["email"]}")
# 6. 退出
elif choice == "6":
print("你已退出系统,感谢你的使用!")
break
# 其他情况
else:
print("输入的参数有误,请重新输入!")