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.如果用戶沒有輸入內容,返回字典中原有的值