標籤:code 字典元素 pen 定義 bsp 提示 *** 操作 資訊
需要注意的一個地方是,如果你用的版本是3.6的,那麼下面的用到的所有從外界接收資訊所用到的input()用input()就行了,如果是2.7版本,那麼如果接收的是字串要用raw_input()(將接收到的資訊自動轉化為字串,即使你輸入的是12345那也是字串12345)
#-*-coding:UTF-8-*-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 testdef 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 breakdef 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() #調用主函數
Python練習 ——名片管理系統(增添,刪除,尋找,修改)