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()  #調用主函數

 2019-01-03  09:17:35


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM