Python-控制台实现简单的名片管理系统
通过Python开发一个基于控制台的名片管理系统,具体看下图以及相关代码。
cards_main.py文件中提供程序的入口
1 import cards_toolslx 2 3 while True: 4 # TODO 显示功能菜单 5 cards_toolslx.show_menu() 6 7 GongNeng = input("请选择您要使用的功能:") 8 print("您选择的操作是:[%s]" % GongNeng) 9 10 if GongNeng in ["1","2","3"]: 11 12 #新增名片 13 if GongNeng == "1": 14 cards_toolslx.ChaRu() 15 #显示名片 16 elif GongNeng == "2": 17 cards_toolslx.XianShi() 18 19 #查询名片 20 else: 21 cards_toolslx.ChaXun() 22 23 24 25 26 elif GongNeng == "0": 27 print("-" * 50) 28 print("欢迎再次使用名片管理系统") 29 break 30 31 else: 32 print("-" * 50) 33 print("输入有误,请重新输入")
cards_toolslx.py文件提供名片系统中所用的各种函数
1 """记录所有名片字典的列表""" 2 card_list = [] 3 4 5 def show_menu(): 6 """显示菜单""" 7 print("*" * 50) 8 print("欢迎使用名片管理系统") 9 print("1-新增名片") 10 print("2-显示全部") 11 print("3-搜索名片") 12 print("0-退出系统") 13 print("*" * 50) 14 15 16 def ChaRu(): 17 """ 18 新增名片 19 20 """ 21 print("-" * 50) 22 print("新增名片") 23 24 #1.提示用户输入名片的详细信息 25 name_str = input("请输入姓名:") 26 phone = input("请输入电话:") 27 qq_str = input("请输入qq:") 28 emall_str = input("请输入邮箱:") 29 30 #2.当用户输入完成后建立用户名片字典 31 card_dict = {"name":name_str, 32 "phone":phone, 33 "qq":qq_str, 34 "emall":emall_str} 35 card_list.append(card_dict) 36 print(card_list) 37 38 #3.名片字典添加到列表中 39 print("%s名片添加成功!" % name_str) 40 41 def XianShi(): 42 """显示全部""" 43 print("-" * 50) 44 print("显示全部") 45 46 #打印表头 47 for name in ["姓名","电话","qq","邮箱"]: 48 print(name,end="\t\t\t\t") 49 50 51 print("") 52 print("="*50) 53 54 for card_dict in card_list: 55 print("%s\t\t%s\t\t%s2\t\t%s" % (card_dict["name"], 56 card_dict["phone"], 57 card_dict["qq"], 58 card_dict["emall"] 59 )) 60 61 62 63 def ChaXun(): 64 """搜索名片""" 65 print("-" * 50) 66 print("搜索名片") 67 SouSuo = input("请输入要搜索的名字:") 68 69 for a in card_list: 70 if SouSuo == a["name"]: 71 for name in ["姓名", "电话", "qq", "邮箱"]: 72 print(name, end="\t\t\t\t") 73 print("") 74 75 print("%s\t\t%s\t\t%s2\t\t%s" % (a["name"], 76 a["phone"], 77 a["qq"], 78 a["emall"] 79 )) 80 deal_card(a) 81 82 break 83 else: 84 print("未搜索到%s的名片!" % SouSuo) 85 86 87 88 def deal_card(find_dict): 89 """ 90 91 @param find_dict: 92 """ 93 action_str = input("请选择要执行的操作" 94 "[1] 修改 [2] 删除 [0] 返回上级菜单") 95 96 97 98 if action_str == "1": 99 find_dict["name"] = input_card_info(find_dict["name"], "姓名") 100 find_dict["phone"] = input_card_info(find_dict["phone"],"电话") 101 find_dict["qq"] = input_card_info(find_dict["qq"],"QQ") 102 find_dict["emall"] = input_card_info(find_dict["emall"],"邮箱") 103 print("成功修改名片") 104 105 elif action_str == "2": 106 card_list.remove(find_dict) 107 print("成功删除名片") 108 109 elif action_str == "0": 110 show_menu() 111 112 else: 113 print("输入错误,请重新选择!") 114 115 116 def input_card_info(dict_value,tip_message): 117 118 #1.提示用户输入内容 119 result_str = input_card_info(tip_message) 120 #2.针对用户的输入如进行判断,如果用户输入修改数据,直接返回结果 121 if len(result_str) > 0: 122 return result_str 123 124 else: 125 return dict_value 126 #3.如果用户没有输入内容,返回字典中原有的值