首頁 > 軟體

如何使用Python實現名片管理系統

2022-08-22 18:02:25

前言

綜合應用已經學習過的知識點:

  • 變數
  • 流程控制
  • 函數
  • 模組

系統需求

1.程式啟動,顯示名片管理系統歡迎介面,並顯示功能選單

**************************************************
歡迎使用【名片管理系統】V1.0

1. 新建名片
2. 顯示全部
3. 查詢名片
0. 退出系統
**************************************************

  • 2.使用者用數位選擇不同的功能
  • 3.根據功能選擇,執行不同的功能
  • 4.使用者名稱片需要記錄使用者的 姓名電話QQ郵件
  • 5.如果查詢到指定的名片,使用者可以選擇 修改 或者 刪除 名片

步驟

  • 框架搭建
  • 新增名片
  • 顯示所有名片
  • 查詢名片
  • 查詢成功後修改、刪除名片
  • 讓 Python 程式能夠直接執行

cards_main.py

import cards_tools
while True:
    # 顯示功能選單
    cards_tools.show_menu()
    action_str = input("請您選擇希望執行的操作:n")
    if action_str in ["1", "2", "3"]:
        # 1. 新建名片
        if action_str == "1":
            cards_tools.new_card()
 
        # 2. 顯示全部
        elif action_str == "2":
            cards_tools.show_all()
 
        # 3. 查詢名片
        elif action_str == "3":
            cards_tools.search_card()

    elif action_str == "0":
        print("歡迎再次使用【名片管理系統】")
        # 在開發時,不希望立即編寫分支內部的程式碼
        # 或者這裡不輸出提示語句時,應用到  pass  關鍵字,表示一個預留位置,能保證程式程式碼的結構正確
        # 程式執行時,pass關鍵字不會執行任何操作
        break
 
    else:
        print("您輸入的不正確,請重新輸入")

cards_tools.py

# 記錄所有名片字典
card_list = []
def show_menu():
    """顯示選單"""
    print("*" * 50)
    print("迎使用【名片管理系統】V1.0")
    print("1. 新建名片")
    print("2. 顯示全部")
    print("3. 查詢名片")
    print("0. 退出系統")
    print("*" * 50)
def new_card():
    """新增名片"""
    print("-" * 50)
    print("新增名片")
 
    # 1.提示使用者輸入名片的詳細資訊
    name_str = input("請輸入姓名:")
    phone_str = input("請輸入電話:")
    qq_str = input("請輸入QQ號碼:")
    email_str = input("請輸入郵箱號碼:")
 
    # 2.使用使用者輸入的資訊建立一個名片字典
    card_dict = {"name": name_str,
                 "phone": phone_str,
                 "qq": qq_str,
                 "email": email_str}
 
    # 3.將名片字典新增到列表中
    card_list.append(card_dict)
    print(card_list)
 
    # 4.提示使用者新增成功
    print("新增 %s 的名片成功!" % name_str)
def show_all():
    """顯示所有名片"""
    print("-" * 50)
    print("顯示所有名片")
 
    # 判斷是否存在名片記錄,如果沒有,提示使用者並且返回
    if len(card_list) == 0:
        print("當前沒有任何名片記錄,請使用新增功能新增名片!")
 
        # return 可以反hi一個函數的執行結果
        # 下方的程式碼不會執行
        # 如果return後面沒有任何內容,便是會返回到呼叫函數的位置,並且不能返回任何結果
        return
 
    # 列印表頭
    for name in ["姓名", "電話", "QQ    ", "郵箱"]:
        print(name, end="u3000tt")
    print("")
 
    # 列印分割線
    print("=" * 50)
 
    # 遍歷名片列表依次輸出字典資訊
    for card_dict in card_list:
        print("%su3000tt%su3000tt%su3000tt%su3000tt" % (card_dict["name"],
                                                                    card_dict["phone"],
                                                                    card_dict["qq"],
                                                                    card_dict["email"]))
def search_card():
    """搜尋名片"""
    print("-" * 50)
    print("搜尋名片")
 
    # 1.提示使用者輸入要搜尋的姓名
    find_name = input("請輸入要搜素的姓名:")
 
    # 2.遍歷名片列表,查詢要搜尋的姓名,如果沒有找到,需要提示使用者
    for card_dict in card_list:
        if card_dict["name"] == find_name:
            print("姓名u3000tt電話u3000ttQQ    u3000tt郵箱")
            print("%su3000tt%su3000tt%su3000tt%su3000tt" % (card_dict["name"],
                                                                        card_dict["phone"],
                                                                        card_dict["qq"],
                                                                        card_dict["email"]))
 
            # 針對找到的字典資訊進行修改和刪除
            deal_card(card_dict)
            break
 
    else:
        print("抱歉沒有找到 %s" % find_name)
 
# 修改和刪除函數
def deal_card(find_dict):
    """處理查詢到的名片
    :param find_dict: 查詢到的名片
    """
    print(find_dict)
    action_str = input("請選擇要執行的操作 "
                       "【1】 修改 "
                       "【2】 刪除 "
                       "【0】 返回上級")
    if action_str == "1":
 
        find_dict["name"] = input_card_info(find_dict["name"], "姓名:")
        find_dict["phone"] = input_card_info(find_dict["phone"], "電話:")
        find_dict["qq"] = input_card_info(find_dict["qq"], "qq號碼:")
        find_dict["email"] = input_card_info(find_dict["email"], "郵箱號碼:")
        print("修改名片")
 
    elif action_str == "2":
 
        card_list.remove(find_dict)
        print("刪除名片成功!")
 
def input_card_info(dic_value, tip_message):
    """輸入名片資訊
    :param dic_value:字典中原有的值
    :param tip_message:輸入的提示文字
    :return:如果使用者輸入了內容,就返回內容,否則返回字典中原有的值
    """
    # 1.提示使用者輸入內容
    result_str = input(tip_message)
 
    # 2.針對使用者輸入進行判斷,如果使用者輸入了內容,直接返回結果
    if len(result_str) > 0:
        return result_str
 
    # 3.如果使用者沒有輸入內容,返回'字串中原有的值‘
    else:
        return dic_value

到此這篇關於如何使用Python實現名片管理系統的文章就介紹到這了,更多相關Python名片管理系統內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!


IT145.com E-mail:sddin#qq.com