print("**********歡迎進入名片管理新系統**********") card_infors = [] #用來存儲名片 def print_menu(): """完成打印功能菜單""" print("="*42) print(" 名片管理系統V0.01") print(" 1.添加一個新的名片") print(" 2.刪除一個名片") print(" 3.修改一個名片") print(" 4.查詢一個名片") print(" 5.顯示所有的名片") print(" 6.退出系統") print("="*42) def add_new_card_infor(): """完成添加一個新的名片""" new_name = input("請輸入新的名字:") #信息的錄入 new_qq = int(input("請輸入新的QQ:")) new_weixin = int(input("請輸入新的微信:")) new_addr = input("請輸入新的住址:") new_infor = {} #定義一個新的字典,用來存儲一個新的名片 new_infor['name'] = new_name #信息的錄入 new_infor['qq'] = new_qq new_infor['weixin'] = new_weixin new_infor['addr'] = new_addr #將一個字典,添加到列表中 card_infors.append(new_infor) #用append()函數在列表中增加一個字典元素 #print(card_infors)#for test def dele_card_infor(): """用來刪除一個名片""" dele_name = input("請輸入要刪除的姓名:") #輸入要刪除的那個人的姓名 find_flag = 0 #默認表示沒有找到 for temp in card_infors: if dele_name == temp["name"]: find_flag = 1 #表示找到了要刪除的人,將find_flag的值修改為1 card_infors.remove(temp) print("刪除成功!") #用del函數刪除該列表中的一個字典元素,如果重名只能刪第一個 break if find_flag == 0: print("沒有您要刪除人的信息....") def modify_card_infor(): """用來修改一個名片""" modify_name = input("請輸入要修改的人的姓名:") #輸入要修改的那個人的姓名 find_flag = 0 #默認表示沒有找到 modify_flag = 0 #判斷是否修改成功,默認修改失敗 sign = 0 for temp in card_infors: sign+=1 if modify_name == temp["name"]: find_flag = 1 print("1.修改姓名") #打印修改菜單 print("2.修改QQ") print("3.修改weixin") print("4.修改地址") print("5.退出修改系統") while True: num2 = int(input("請輸入你要修改的信息的編號:")) #輸入修改項對應的編號 if num2==1: card_infors[sign-1]["name"] = input("請輸入您要修改的正確姓名:") #在對應的修改編號下修改相應的信息 modify_flag = 1 elif num2==2: card_infors[sign-1]["qq"] = int(input("請輸入您要修改的正確QQ:")) modify_flag = 1 elif num2==3: card_infors[sign-1]["weixin"] = int(input("請輸入您要修改的正確weixin:")) modify_flag = 1 elif num2==4: card_infors[sign-1]["addr"] = input("請輸入您要修改的正確地址:") modify_flag = 1 elif num2==5: break else: print("輸入有誤,請重新輸入:") if modify_flag == 1: #判斷是否修改成功 print("修改成功!") break break def find_card_infor(): """用來查詢一個名片""" find_name = input("請輸入要查找的姓名:") #按姓名查找 find_flag = 0 #默認表示沒有找到 print("您要查找的人的信息為:") #打印對應姓名的信息 print("姓名\t\tQQ\t\t\t微信\t\t住址") for temp in card_infors: if find_name == temp["name"]: print("%-12s%-12s%-12s%s"%(temp['name'],temp['qq'],temp['weixin'],temp['addr']))#哎呀呀我本來想用\t橫向制表符呢,但是效果卻不是我想的那樣,所以只能用這種左對齊的方式了 find_flag = 1 #表示找到了 if find_flag == 0: #判斷是否找到了 print("沒有找到這個人哦╮( ̄▽ ̄)╭....") def show_all_infor(): """顯示所有的名片信息""" print("姓名\t\tQQ\t\t\t微信\t\t住址") #打印所有人的信息 for temp in card_infors: print("%-12s%-12s%-12s%s"%(temp['name'],temp['qq'],temp['weixin'],temp['addr'])) def main(): """完成對整個程序的控制""" print_menu() #1.打印功能提示 while True: num = int(input("請輸入操作序號:")) #2.獲取用戶的輸入 if num==1: #3.根據用戶的數據執行相應的功能 add_new_card_infor() elif num==2: dele_card_infor() elif num==3: modify_card_infor() elif num==4: find_card_infor() elif num==5: show_all_infor() elif num==6: break else: print("輸入有誤,請重新輸入") print("") main() #調用主函數
2019-01-03 09:17:35