python名片管理系统V2
主程序:
#! /usr/bin env python3 # -*- coding: utf-8 -*- # 项目三: # 1、要求:编写一个名片管理系统,功能如下: # 用户输入相对应的指令,实现对名片进行增、删、改、查的功能 # 2、分析 # 首先要定义python文件,一个是对程序进行操作的python文件(入口程序),另一个是作为工具的python文件,然后添加以下功能 # (1)增: # 为增的功能做一个函数,当用户输入指令为增时,提供用户输入信息,如:姓名、年龄、工号、工资等,保存用户录入的信息。 # 当有多个用户录入信息时,录入的信息采用字典的方式保存每个用户的详细信息,再用列表来保存每个用户的信息 # (2)查: # 为查看的功能做一个函数,当用户输入查看功能时,将所有用户的详细信息都逐一展示出来。 # (3)修改和删除: # 先做一个搜索的功能的函数,用户只需要输入人名、工号,如果存在于字典中,则显示出被搜索到的人的所有详细信息, # (3.1)添加删除功能,用户输入删除指令后,删除被搜索到的人的所有信息 # (3.2)添加修改功能,用户输入修改指令后,对被搜索到的人的详细信息逐一进行修改 import hw_02_名片管理系统工具 print("*" * 50) print("欢迎进入名片管理系统") print("*" * 50) while True: print("本系统功能:【1】新增名片 【2】查看所有名片信息 【3】 搜索名片 [0] 退出") user = input("请选择你的功能:") # 1,2,3针对名片的操作 if user in ["1", "2", "3"]: # 新增名片 if user == "1": hw_02_名片管理系统工具.card_add() print(hw_02_名片管理系统工具.cards_list) # 显示所有 elif user == "2": hw_02_名片管理系统工具.show_all() # 搜索名片 elif user == "3": hw_02_名片管理系统工具.card_serach() elif user == "0": print("欢迎再次使用【名片管理系统】") break else: print("非法输入")
工具程序:
#!/usr/bin/env python3 # -*- coding: UTF-8 -*- # 记录所有的名片字典 cards_list = [] def card_add(): """ 新增名片 """ print("新增名片") user_name = input("请输入你的姓名:") user_phone = input("请输入你的电话:") user_qq = input("请输入你的QQ:") user_email = input("请输入你的邮箱:") # 用户输入的信息建立添加到名片字典 cards_dict = { "name": user_name, "phone": user_phone, "qq": user_qq, "email": user_email } # 将名片字典添加到列表中 cards_list.append(cards_dict) print("添加成功") def show_all(): """显示所有名片""" print("-" * 50) print("查看所有名片") # 判断是否存在名片记录 if len(cards_list) > 0: # 打印表头 for header in ["姓名","电话","QQ","email"]: print(header,end="\t\t") print("") print("=" * 50) # 遍历名片列表依次输出字典信息 for card_dict in cards_list: print("%s\t\t%s\t\t%s\t\t%s" %( card_dict["name"], card_dict["phone"], card_dict["qq"], card_dict["email"] )) else: print("还未添加名片,请按【1】新增名片") def card_serach(): """ 搜索名片 :return: """ print("搜索名片") print("-" * 50) user_find = input("请输入要查找的信息:") # 遍历名片列表,查询要搜索的姓名,电话,qq,email,如果没有找到,要提示用户 for card_dict in cards_list: if (card_dict["name"] == user_find or card_dict["phone"] == user_find or card_dict["qq"] == user_find or card_dict["email"] == user_find ): print("找到了") print(card_dict) # 针对找到的名片信息执行修改和删除的操作 deal_card(card_dict) break else: print("没有找到") def deal_card(find_dict): """处理查找到的名片 :param find_dict: 查找到的名片 """ user_input_info = input("请选择功能:【1】修改 【2】删除 ") if user_input_info == "1": find_dict["name"] = input_info_card(find_dict["name"],"姓名:") find_dict["phone"] = input_info_card(find_dict["phone"],"电话:") find_dict["qq"] = input_info_card(find_dict["qq"],"QQ: ") find_dict["email"] = input_info_card(find_dict["email"],"邮箱:") print("修改名片成功!") elif user_input_info == "2": cards_list.remove(find_dict) print("删除成功") else: print("非法输入") def input_info_card(dict_value,prompt): """输入名片信息 :param dict_value: 字典中原有的值 :param prompt: 输入的提示信息 :return: 如果用户输入了内容,就返回内容,否则返回字典中原有的值 """ user_change_info = input(prompt) if user_change_info: return user_change_info else: print("您输入的为空") return dict_value