用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通過matplotlib繪制動(dòng)畫簡(jiǎn)單實(shí)例
這篇文章主要介紹了Python通過matplotlib繪制動(dòng)畫簡(jiǎn)單實(shí)例,具有一定借鑒價(jià)值,需要的朋友可以參考下。2017-12-12
python給指定csv表格中的聯(lián)系人群發(fā)郵件(帶附件的郵件)
這篇文章主要介紹了python給指定csv表格中的聯(lián)系人群發(fā)郵件,本文通過代碼講解的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-12-12
解鎖Python并發(fā)編程中多線程與多進(jìn)程的應(yīng)用
本文我們將先從基本概念開始,然后通過詳細(xì)舉例探討每一種機(jī)制,特別關(guān)注多線程和多進(jìn)程的應(yīng)用,最后分享一些實(shí)戰(zhàn)經(jīng)驗(yàn)以及一種優(yōu)雅的編程技巧,希望對(duì)大家有所幫助2023-05-05
利用OpenCV+Tensorflow實(shí)現(xiàn)的手勢(shì)識(shí)別
這幾天沒事,想著再學(xué)點(diǎn)一些視覺識(shí)別方向的東西,因?yàn)橹白隽蓑?yàn)證碼識(shí)別,有了機(jī)器學(xué)習(xí)的信心,因此這次打算做個(gè)手勢(shì)識(shí)別,下面這篇文章主要給大家介紹了關(guān)于利用OpenCV+Tensorflow實(shí)現(xiàn)的手勢(shì)識(shí)別的相關(guān)資料,需要的朋友可以參考下2022-11-11
使用Python實(shí)現(xiàn)管理系統(tǒng)附源碼
這篇文章主要為大家介紹了Python實(shí)現(xiàn)管理系統(tǒng),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助2022-01-01
Python數(shù)據(jù)清洗工具之Numpy的基本操作
Numpy的操作對(duì)象是一個(gè)ndarray,所以在使用這個(gè)庫進(jìn)行計(jì)算的時(shí)候需要將數(shù)據(jù)進(jìn)行轉(zhuǎn)化,這篇文章主要介紹了Python數(shù)據(jù)清洗工具之Numpy的基本操作,需要的朋友可以參考下2021-04-04

