1. 程式人生 > >python名片管理系統V2

python名片管理系統V2

列表 lis 進行 prompt 刪除 項目 如果 查找 一個

將名片管理系統進行改進:

主程序:

#!/usr/bin/env python
# -*- coding: UTF-8 -*-

# 項目三:
# 1、要求:編寫一個名片管理系統,功能如下:
# 用戶輸入相對應的指令,實現對名片進行增、刪、改、查的功能

# 2、分析
# 首先要定義python文件,一個是對程序進行操作的python文件(入口程序),另一個是作為工具的python文件,然後添加以下功能
# (1)增:
# 為增的功能做一個函數,當用戶輸入指令為增時,提供用戶輸入信息,如:姓名、年齡、工號、工資等,保存用戶錄入的信息。
# 當有多個用戶錄入信息時,錄入的信息采用字典的方式保存每個用戶的詳細信息,再用列表來保存每個用戶的信息
# (2)查: # 為查看的功能做一個函數,當用戶輸入查看功能時,將所有用戶的詳細信息都逐一展示出來。 # (3)修改和刪除: # 先做一個搜索的功能的函數,用戶只需要輸入人名、工號,如果存在於字典中,則顯示出被搜索到的人的所有詳細信息, # (3.1)添加刪除功能,用戶輸入刪除指令後,刪除被搜索到的人的所有信息 # (3.2)添加修改功能,用戶輸入修改指令後,對被搜索到的人的詳細信息逐一進行修改 # 3、代碼 # 入口程序 import item03_cards_tools print("*" * 50) print("歡迎進入名片管理系統") print("
*" * 50) while True: print("本系統功能:【1】新增名片 【2】查看所有名片信息 【3】 搜索名片 [0] 退出") user = input("請選擇你的功能:") # 1,2,3針對名片的操作 if user in ["1", "2", "3"]: # 新增名片 if user == "1": item03_cards_tools.card_add() print(item03_cards_tools.cards_list)
# 顯示所有 elif user == "2": item03_cards_tools.show_all() # 搜索名片 elif user == "3": item03_cards_tools.card_serach() elif user == "0": print("歡迎再次使用【名片管理系統】") break else: print("非法輸入")

功能程序:

#!/usr/bin/env python
# -*- coding: UTF-8 -*-

# 記錄所有的名片字典
cards_list = []

def card_add():
    """ 新增名片


    """
    print("新增名片")
    user_name = input("請輸入你的姓名:")
    user_phone = input("請輸入你的電話:")
    user_qq = input("請輸入你的QQ:")
    user_email = input("請輸入你的郵箱:")

    # 用戶輸入的信息建立添加到名片字典
    cards_dict = {
        "name": user_name,
        "phone": user_phone,
        "qq": user_qq,
        "email": user_email
    }

    # 將名片字典添加到列表中
    cards_list.append(cards_dict)
    print("添加成功")


def show_all():
    """顯示所有名片"""

    print("-" * 50)
    print("查看所有名片")

    # 判斷是否存在名片記錄
    if len(cards_list) > 0:

        # 打印表頭
        for header in ["姓名","電話","QQ","email"]:
            print(header,end="\t\t")
        print("")
        print("=" * 50)

        # 遍歷名片列表依次輸出字典信息
        for card_dict in cards_list:
            print("%s\t\t%s\t\t%s\t\t%s" %(
                card_dict["name"],
                card_dict["phone"],
                card_dict["qq"],
                card_dict["email"]
            ))
    else:
        print("還未添加名片,請按【1】新增名片")


def card_serach():
    """
    搜索名片
    :return:
    """
    print("搜索名片")
    print("-" * 50)
    user_find = input("請輸入要查找的信息(如需返回主菜單請按【0】):")
    if user_find == "0":
        return

    # 遍歷名片列表,查詢要搜索的姓名,電話,qq,email,如果沒有找到,要提示用戶
    for card_dict in cards_list:
        if (card_dict["name"] == user_find or
            card_dict["phone"] == user_find or
            card_dict["qq"] == user_find or
            card_dict["eamil"] == user_find
        ):
            print("找到了")
            print(card_dict)

            # 針對找到的名片信息執行修改和刪除的操作
            deal_card(card_dict)
            break

    else:
        print("沒有找到")


def deal_card(find_dict):
    """處理查找到的名片

    :param find_dict: 查找到的名片
    """
    user_input_info = input("請選擇功能:【1】修改 【2】刪除 ")
    if user_input_info == "1":
        find_dict["name"] = input_info_card("name","姓名:")
        find_dict["phone"] = input_info_card("phone","電話:")
        find_dict["qq"] = input_info_card("qq","QQ: ")
        find_dict["email"] = input_info_card("email","郵箱:")
        print("修改名片成功!")

    elif user_input_info == "2":

        cards_list.remove(find_dict)
        print("刪除成功")
    else:
        print("非法輸入")


def input_info_card(dict_value,prompt):
    """輸入名片信息

    :param dict_value: 字典中原有的值
    :param prompt:  輸入的提示信息
    :return: 如果用戶輸入了內容,就返回內容,否則返回字典中原有的值
    """
    user_change_info = input(prompt)
    if user_change_info != 0:
        return user_change_info
    else:
        print("您輸入的為空")
        return dict_value

python名片管理系統V2