用python實(shí)現(xiàn)名片管理系統(tǒng)
python的基礎(chǔ)練習(xí)案例——名片管理系統(tǒng),一個(gè)控制臺(tái)程序的案例練習(xí),平臺(tái)為pycharm2017。代碼是看著python視頻學(xué)的時(shí)候?qū)懙?,pycharm運(yùn)行沒有問題。
系統(tǒng)需求
1、程序啟動(dòng),顯示名片管理系統(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 程序能夠直接運(yùn)行
代碼:
為了運(yùn)行方便,將主函數(shù)和自定義函數(shù)分為兩個(gè)文件,方便讀者。
代碼如下:
mian:
import cards_tools # 無線循環(huán),由用戶決定什么時(shí)候退出循環(huán) while True: # 顯示功能菜單 cards_tools.show_menu() action_str = input("請(qǐng)選擇希望執(zhí)行的操作:") print("你選擇的操作是【%s】" % action_str) # 1,2,3針對(duì)名片的操作 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 # 如果在開放程序時(shí),不希望立刻編寫分支內(nèi)部的代碼 # 可以使用pass關(guān)鍵字,表示一個(gè)占位符,能夠保證程序的代碼結(jié)構(gòu)正確 # 程序運(yùn)行時(shí),pass關(guān)鍵字不會(huì)執(zhí)行任何的操作! # pass # 其他內(nèi)容輸入錯(cuò)誤,需要提示用戶 else: print("你輸入不正確,請(qǐng)重新選擇!")
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.提示用戶輸入名片的詳細(xì)信息 name_str = input("請(qǐng)輸入姓名:") phone_str = input("請(qǐng)輸入電話:") qq_str = input("請(qǐng)輸入QQ:") email_str = input("請(qǐng)輸入郵箱:") # 2.使用用戶輸入信息建立給一個(gè)名片字典 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("當(dāng)前沒有任何的名片記錄,請(qǐng)使用新增功能添加名片!") # return可以返回一個(gè)函數(shù)的執(zhí)行結(jié)果 # 下方的代碼不會(huì)被執(zhí)行 # 若return后面沒有任何內(nèi)容,表示會(huì)返回到調(diào)用函數(shù)的位置 # 并且不返回任何結(jié)果 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("請(qǐng)輸入要搜索的姓名:") # 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"])) # 針對(duì)找到的名片記錄執(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("請(qǐng)選擇要執(zhí)行的操作 " "[1]修改 [2]刪除 [0]返回上級(jí)菜單") 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:如果用戶輸入內(nèi)容,就返回內(nèi)容,否則返回字典中原有的值 """ # 1.提示用戶輸入內(nèi)容 result_str = input(tip_message) # 2.針對(duì)用戶的輸入進(jìn)行判斷,如果用戶輸入了內(nèi)容,直接返回結(jié)果 if len(result_str) > 0: return result_str # 如果用戶沒有輸入內(nèi)容,返回字典中原有的值 else: return dict_value
更多學(xué)習(xí)資料請(qǐng)關(guān)注專題《管理系統(tǒng)開發(fā)》。
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- Python名片管理系統(tǒng)+猜拳小游戲案例實(shí)現(xiàn)彩(色控制臺(tái)版)
- python實(shí)現(xiàn)簡(jiǎn)單的名片管理系統(tǒng)
- Python實(shí)戰(zhàn)之實(shí)現(xiàn)簡(jiǎn)單的名片管理系統(tǒng)
- python實(shí)現(xiàn)簡(jiǎn)易名片管理系統(tǒng)
- python3實(shí)現(xiàn)名片管理系統(tǒng)(控制臺(tái)版)
- python名片管理系統(tǒng)開發(fā)
- 使用python實(shí)現(xiàn)名片管理系統(tǒng)
- Python實(shí)現(xiàn)名片管理系統(tǒng)
- Python綜合應(yīng)用名片管理系統(tǒng)案例詳解
- python實(shí)現(xiàn)一個(gè)函數(shù)版的名片管理系統(tǒng)過程解析
- 如何使用Python實(shí)現(xiàn)名片管理系統(tǒng)
相關(guān)文章
Python實(shí)戰(zhàn)實(shí)現(xiàn)爬取天氣數(shù)據(jù)并完成可視化分析詳解
這篇文章主要和大家分享一個(gè)用Python實(shí)現(xiàn)的小功能:獲取天氣數(shù)據(jù),進(jìn)行可視化分析,帶你直觀了解天氣情況!感興趣的小伙伴可以學(xué)習(xí)一下2022-06-06Sublime?Text4?配置?Python3?環(huán)境、代碼提示、編譯報(bào)錯(cuò)的解決方案
這篇文章主要介紹了Sublime?Text4?配置?Python3?環(huán)境、代碼提示、編譯報(bào)錯(cuò)教程,通過圖文并茂的形式給大家介紹了配置自動(dòng)代碼提示的方法,需要的朋友可以參考下2022-01-01Python利用partial偏函數(shù)生成不同的聚合函數(shù)
本文主要介紹了Python利用partial偏函數(shù)生成不同的聚合函數(shù),利用偏函數(shù)的概念,可以生成一些新的函數(shù),在調(diào)用這些新函數(shù)時(shí),不用再傳遞固定值的參數(shù),這樣可以使代碼更簡(jiǎn)潔,感興趣的可以了解一下2024-03-03Python?Pandas多種添加行列數(shù)據(jù)方法總結(jié)
在進(jìn)行數(shù)據(jù)分析時(shí)經(jīng)常需要按照一定條件創(chuàng)建新的數(shù)據(jù)列,然后進(jìn)行進(jìn)一步分析,下面這篇文章主要給大家介紹了關(guān)于Python?Pandas多種添加行列數(shù)據(jù)方法的相關(guān)資料,需要的朋友可以參考下2022-07-07Python讀寫二進(jìn)制文件的實(shí)現(xiàn)
本文主要介紹了Python讀寫二進(jìn)制文件的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-04-04python飛機(jī)大戰(zhàn)pygame游戲框架搭建操作詳解
這篇文章主要介紹了python飛機(jī)大戰(zhàn)pygame游戲框架搭建操作,設(shè)計(jì)pygame模塊游戲創(chuàng)建、初始化、精靈組設(shè)置等相關(guān)操作技巧,需要的朋友可以參考下2019-12-12CodeWhisperer基于python使用經(jīng)驗(yàn)分享
這篇文章主要為大家介紹了CodeWhisperer基于python使用經(jīng)驗(yàn)分享,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-11-11