1. 程式人生 > >Python-名片管理系統

Python-名片管理系統

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() #呼叫主函式