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

python -- 名片管理系統

準備兩個python 檔案,一個cards_tool 裝函式,一個cards_main執行程式

cards_tool:

#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time    : 2018/10/28 14:32
# @Author  : penny
# @Site    : 
# @File    : cards_def.py
# @Software: PyCharm
card_list=[]
# 顯示主選單
def show_main_menu():
    '''
    顯示主選單
    :return: 
    '''
print("*"*50) print("歡迎使用【名片管理系統】V1.8") print("1.新建名片\n2.顯示全部\n3.查詢名片\n\n0.退出系統") print("*"*50) # 新建名片 def creat_cards(): ''' 新建名片 :return: ''' # 提示使用者輸入資訊 print("功能:新增名片") name_str = input("姓名:") phone_str = input("電話號碼:") QQ_str = input("QQ:"
) email_str = input("郵箱:") # 將使用者輸入的資訊放進字典裡 cards_dict = { "name":name_str, "phone":phone_str, "QQ":QQ_str, "email":email_str } # 將字典加入到列表中去 card_list.append(cards_dict) print("新增%s的名片已經成功!" %cards_dict["name"]) # 顯示全部 def show_all_cards
(): ''' 顯示所有名片 :return: ''' print("功能:顯示名片") # 如果系統內沒有名片,提示使用者新增名片 if len(card_list)==0: print("目前沒有名片,請新增名片!") return # 如果有名片,就顯示全部 else: show_find_dict() # 查詢名片 def find_cards(): print("功能:查詢名片") name = input("請輸入您要查詢的人的姓名:") # 遍歷列表,如果匹配到了有這個姓名,繼續 for cards_dict in card_list: if cards_dict["name"] == name: show_find_dict() # 繼續修改、刪除、返回上級 ope_find_cards(cards_dict) # 如果沒有匹配到這個姓名, 提示錯誤,並返回 break else: print("沒有查詢到您要找的人!") def ope_find_cards(cards_dict): ''' 對找到的字典進行操作 :param cards_dict: :return: ''' ope_str = input("請選擇您要進行的操作:[1]修改\t[2]刪除\t[0]返回上一級\n請輸入:") # 修改1 if ope_str=="1": cards_dict["name"] = input_cards_info(cards_dict["name"],"姓名:") cards_dict["phone"] = input_cards_info(cards_dict["phone"],"電話:") cards_dict["QQ"] =input_cards_info(cards_dict["QQ"],"QQ:") cards_dict["email"] = input_cards_info(cards_dict["email"],"郵箱:") print("修改成功!") # 刪除2 elif ope_str=="2": # 找到這個列表,刪除列表中的字典 card_list.remove(cards_dict) print("刪除成功!") # 返回上級0 else: find_cards() def input_cards_info(dict_value,tip_massage): ''' 對查詢到的人進行修改刪除 :param dict_value: 原有字典的值 :param tip_massage: 輸入的值 :return: ''' result_str = input(tip_massage) # 如果輸入的內容長度大於0 ,則返回 輸入的內容 if len(result_str)>0: return result_str # 如果沒有輸入內容,則返回原來的字典內的值 else: return dict_value def show_find_dict(): ''' 顯示查詢到的人 :return: ''' # 輸出表頭 for i in ["姓名", '電話', 'QQ', '郵箱']: print(i, end="\t\t\t") print("") print("-" * 50) # 遍歷列表中的字典中的每個值輸出 for cards_dict in card_list: print("%s\t\t%s\t\t%s\t\t%s" % (cards_dict["name"], cards_dict["phone"], cards_dict["QQ"], cards_dict["email"]))

cards_main:

#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time    : 2018/10/26 18:52
# @Author  : penny
# @Site    : 
# @File    : cards_main.py
# @Software: PyCharm

import card_tools

# 無限迴圈,由使用者主動決定什麼時候退出迴圈
while True:
    card_tools.show_menu()
    action_str = input("請選擇操作功能:")
    print("您選擇的功能是[%s]" % action_str)
    # 1,2,3針對名片進行操作
    if action_str in ["1","2","3"]:
        # 1.新建名片
        if action_str=="1":
            card_tools.creat_cards()
        # 2.顯示全部
        if action_str=="2":
            card_tools.show_cards()
        # 3.查詢名片
        if action_str=="3":
            card_tools.find_cards()

    # 0 退出系統
    elif action_str=="0":
        print("謝謝使用,您已退出系統!")
        break
    # 其他內容輸入錯誤,需要提示重新弄輸入
    else:
        print("輸入錯誤,請重新選擇!")