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

 

Tags: