進行了一些Python基礎知識的學習後,將這些知識進行綜合,實現了名片管理小系統,可以進行數據的增刪改查。 ...
進行了一些Python基礎知識的學習後,將這些知識進行綜合,實現了名片管理小系統,可以進行數據的增刪改查。
主要思路是將名片(信息)存進字典里,再將字典存入列表裡,方便進行增刪改查。
代碼如下:
1 #-*-encoding:utf-8-*- 2 #用來存儲名片 3 card_infors = [] # 空的列表 4 5 def print_menu(): 6 #完成列印功能菜單 7 print("="*50) 8 print(" 名片管理系統 V0.01") 9 print(" 1. 添加一個新的名片") 10 print(" 2. 刪除一個名片") 11 print(" 3. 修改一個名片") 12 print(" 4. 查詢一個名片") 13 print(" 5. 顯示所有的名片") 14 print(" 6. 退出系統") 15 print("="*50) 16 17 def add_new_card_infor(): 18 #完成添加一個新的名片 19 new_name = raw_input("請輸入新的名字:") 20 new_qq = raw_input("請輸入新的QQ:") 21 new_weixin = raw_input("請輸入新的微信:") 22 new_addr = raw_input("請輸入新的住址:") 23 24 #定義一個新的字典,用來存儲一個新的名片 25 new_infor = {} 26 new_infor['name'] = new_name 27 new_infor['qq'] = new_qq 28 new_infor['weixin'] = new_weixin 29 new_infor['addr'] = new_addr 30 31 #將一個字典,添加到列表中 32 global card_infors 33 card_infors.append(new_infor) 34 35 #print(card_infors)# for test 36 37 def find_card_infor(): 38 global card_infors 39 find_name = raw_input("請輸入要查找的姓名:") 40 find_flag = 0 #預設表示沒有找到 41 for temp in card_infors: 42 if find_name == temp["name"]: 43 print("%s\t%s\t%s\t%s"%(temp['name'],temp['qq'],temp['weixin'],temp['addr'])) 44 find_flag = 1 45 break 46 if find_flag == 0: 47 print("不能找到這個人") 48 49 def show_all_inf(): 50 global card_infors 51 print("姓名\tQQ\tweixin\t地址") 52 53 for temp in card_infors: 54 print("%s\t%s\t%s\t%s"%(temp['name'],temp['qq'],temp['weixin'],temp['addr'])) 55 # print("-------顯示完畢--------") 56 57 def modify_inf(): 58 #修改函數 59 global card_infors 60 mod_name = raw_input("請輸入需要修改的名字:") 61 for temp in card_infors: 62 if temp['name'] == mod_name: 63 temp['name'] = raw_input("請輸入新的名字:") 64 temp['qq'] = raw_input("請輸入新的qq:") 65 temp['weixin'] = raw_input("請輸入新的微信:") 66 temp['addr'] = raw_input("請輸入新的住址:") 67 print("-------修改完畢--------") 68 return 69 print("-------查無此人--------") 70 71 def delete_inf(): 72 #刪除函數 73 global card_infors 74 del_name = raw_input("請輸入要刪除的姓名:") 75 for temp in card_infors: 76 if temp['name'] == del_name: 77 card_infors.remove(temp) 78 break 79 print("-------刪除完畢--------") 80 81 def main(): 82 #完成對整個模塊的調用 83 print_menu() 84 85 while True: 86 #獲取用戶輸入 87 num = input("請輸入選擇:") 88 if num == 1: 89 add_new_card_infor() 90 elif num == 2: 91 delete_inf() 92 elif num == 3: 93 modify_inf() 94 elif num == 4: 95 find_card_infor() 96 elif num == 5: 97 show_all_inf() 98 elif num == 6: 99 break 100 else: 101 print("輸入有誤,重新輸入") 102 main() # 主函數執行