用python實現(xiàn)名片管理系統(tǒng)
python的基礎練習案例——名片管理系統(tǒng),一個控制臺程序的案例練習,平臺為pycharm2017。代碼是看著python視頻學的時候寫的,pycharm運行沒有問題。
系統(tǒng)需求
1、程序啟動,顯示名片管理系統(tǒng)歡迎界面,并顯示功能菜單
歡迎使用【名片管理系統(tǒng)】V1.0
1 新建名片
2顯示全部
3查詢名片
0退出系統(tǒng)
2、用戶用數(shù)字選擇不同的功能
3、根據(jù)功能選擇,執(zhí)行不同的功能
4、用戶名片需要記錄用戶的 姓名、電話、QQ、郵件
5、如果查詢到指定的名片,用戶可以選擇 修改 或者 刪除 名片
步驟
1.框架搭建
2.新增名片
3.顯示所有名片
4.查詢名片
5.查詢成功后修改、刪除名片
6.讓 Python 程序能夠直接運行
代碼:
為了運行方便,將主函數(shù)和自定義函數(shù)分為兩個文件,方便讀者。
代碼如下:
mian:
import cards_tools # 無線循環(huán),由用戶決定什么時候退出循環(huán) while True: # 顯示功能菜單 cards_tools.show_menu() action_str = input("請選擇希望執(zhí)行的操作:") print("你選擇的操作是【%s】" % action_str) # 1,2,3針對名片的操作 if action_str in ["1", "2", "3"]: # 新增名片 if action_str == "1": cards_tools.new_card() # 顯示全部 elif action_str == "2": cards_tools.show_all() # 查詢名片 elif action_str == "3": cards_tools.search_card() # 0 退出系統(tǒng) elif action_str == "0": print("歡迎再次使用【名片管理系統(tǒng)】") break # 如果在開放程序時,不希望立刻編寫分支內部的代碼 # 可以使用pass關鍵字,表示一個占位符,能夠保證程序的代碼結構正確 # 程序運行時,pass關鍵字不會執(zhí)行任何的操作! # pass # 其他內容輸入錯誤,需要提示用戶 else: print("你輸入不正確,請重新選擇!")
tools:
# 記錄所有的名片字典 card_list = [] def show_menu(): """顯示菜單""" print("*" * 50) print("歡迎使用【名片管理系統(tǒng)】V1.0") # print("") print("1.新增名片") print("2.顯示全部") print("3.搜索名片") # print("") print("0.退出系統(tǒng)") 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可以返回一個函數(shù)的執(zhí)行結果 # 下方的代碼不會被執(zhí)行 # 若return后面沒有任何內容,表示會返回到調用函數(shù)的位置 # 并且不返回任何結果 return # 打印表頭 for name in ["姓名", "電話", "QQ", "郵箱"]: print(name, end="\t\t") print("") # 打印分隔線 print("=" * 50) # 遍歷名片列表依次輸出字典信息 for card_dict in card_list: print("%s\t\t%s\t\t%s\t\t%s\t\t" % (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("姓名\t\t電話\t\tQQ\t\t郵箱") print("=" * 50) print("%s\t\t%s\t\t%s\t\t%s" % (card_dict["name"], card_dict["phone"], card_dict["QQ"], card_dict["email"])) # 針對找到的名片記錄執(zhí)行修改和刪除的操作 deal_card(card_dict) break else: print("抱歉,沒有找到%s!" % find_name) def deal_card(find_dict): """處理查找到的名片 :param find_dict:查找到的名片 """ print(find_dict) action_str = input("請選擇要執(zhí)行的操作 " "[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"], "email: ") print("修改名片成功") if action_str == "2": card_list.remove(find_dict) print("刪除名片成功") def input_card_info(dict_value, tip_message): """輸入名片信息 :param dict_value:字典中原有的值 :param tip_message:輸入的提示文字 :return:如果用戶輸入內容,就返回內容,否則返回字典中原有的值 """ # 1.提示用戶輸入內容 result_str = input(tip_message) # 2.針對用戶的輸入進行判斷,如果用戶輸入了內容,直接返回結果 if len(result_str) > 0: return result_str # 如果用戶沒有輸入內容,返回字典中原有的值 else: return dict_value
更多學習資料請關注專題《管理系統(tǒng)開發(fā)》。
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
- Python名片管理系統(tǒng)+猜拳小游戲案例實現(xiàn)彩(色控制臺版)
- python實現(xiàn)簡單的名片管理系統(tǒng)
- Python實戰(zhàn)之實現(xiàn)簡單的名片管理系統(tǒng)
- python實現(xiàn)簡易名片管理系統(tǒng)
- python3實現(xiàn)名片管理系統(tǒng)(控制臺版)
- python名片管理系統(tǒng)開發(fā)
- 使用python實現(xiàn)名片管理系統(tǒng)
- Python實現(xiàn)名片管理系統(tǒng)
- Python綜合應用名片管理系統(tǒng)案例詳解
- python實現(xiàn)一個函數(shù)版的名片管理系統(tǒng)過程解析
- 如何使用Python實現(xiàn)名片管理系統(tǒng)
相關文章
Python實戰(zhàn)實現(xiàn)爬取天氣數(shù)據(jù)并完成可視化分析詳解
這篇文章主要和大家分享一個用Python實現(xiàn)的小功能:獲取天氣數(shù)據(jù),進行可視化分析,帶你直觀了解天氣情況!感興趣的小伙伴可以學習一下2022-06-06Sublime?Text4?配置?Python3?環(huán)境、代碼提示、編譯報錯的解決方案
這篇文章主要介紹了Sublime?Text4?配置?Python3?環(huán)境、代碼提示、編譯報錯教程,通過圖文并茂的形式給大家介紹了配置自動代碼提示的方法,需要的朋友可以參考下2022-01-01Python利用partial偏函數(shù)生成不同的聚合函數(shù)
本文主要介紹了Python利用partial偏函數(shù)生成不同的聚合函數(shù),利用偏函數(shù)的概念,可以生成一些新的函數(shù),在調用這些新函數(shù)時,不用再傳遞固定值的參數(shù),這樣可以使代碼更簡潔,感興趣的可以了解一下2024-03-03Python?Pandas多種添加行列數(shù)據(jù)方法總結
在進行數(shù)據(jù)分析時經常需要按照一定條件創(chuàng)建新的數(shù)據(jù)列,然后進行進一步分析,下面這篇文章主要給大家介紹了關于Python?Pandas多種添加行列數(shù)據(jù)方法的相關資料,需要的朋友可以參考下2022-07-07python飛機大戰(zhàn)pygame游戲框架搭建操作詳解
這篇文章主要介紹了python飛機大戰(zhàn)pygame游戲框架搭建操作,設計pygame模塊游戲創(chuàng)建、初始化、精靈組設置等相關操作技巧,需要的朋友可以參考下2019-12-12