Python實(shí)現(xiàn)名片管理系統(tǒng)
本文實(shí)例為大家分享了Python實(shí)現(xiàn)名片管理系統(tǒng)的具體代碼,供大家參考,具體內(nèi)容如下
目標(biāo)
綜合應(yīng)用已經(jīng)學(xué)習(xí)過(guò)的知識(shí)點(diǎn):
- 變量
- 流程控制
- 函數(shù)
- 模塊
系統(tǒng)需求
1. 程序啟動(dòng),顯示名片管理系統(tǒng)歡迎界面,并顯示功能菜單
2 用戶(hù)用數(shù)字選擇不同的功能
3. 根據(jù)功能選擇,執(zhí)行不同的功能
4. 用戶(hù)名片需要記錄用戶(hù)的 姓名、電話(huà)、QQ、郵件
5. 如果查詢(xún)到指定的名片,用戶(hù)可以選擇 修改 或者 刪除 名片
文件準(zhǔn)備
新建 cards_main.py 保存主程序功能代碼
新建 cards_tools.py 保存所有名片功能函數(shù)
代碼
cards_main.py :
# encoding:utf-8 _date_ = "2020/2/8 12:17" import cards_tools while True: # 顯示功能菜單 cards_tools.caidan() xuanze=input("請(qǐng)選擇希望操作的功能:") print("您選擇的操作是【%s】" % xuanze) # 如果用戶(hù)輸入的是1,2,3則是針對(duì)名片的操作 if xuanze in ["1","2","3"]: # 新增名片處理 if xuanze=="1": cards_tools.zengjia() # 顯示全部名片 elif xuanze=="2": cards_tools.xianshi() # 查詢(xún)和修改名片操作 elif xuanze=="3": cards_tools.sousuo() # 如果用戶(hù)輸入的是0則退出系統(tǒng) elif xuanze=="0": print("正在退出,期待您再次使用【名片管理系統(tǒng)】!") break # 如果用戶(hù)輸入別的內(nèi)容則提示輸入有誤 else: print("您輸入的不正確,請(qǐng)重新選擇!?。?)
cards_tools.py :
# encoding:utf-8 _date_ = "2020/2/8 12:32" # 記錄所有的名片字典 card_list = [] def caidan(): """顯示菜單""" print("*"*39) print("歡迎使用【名片管理系統(tǒng)】v1.0") print("") print("1.新增名片") print("2.顯示全部") print("3.查詢(xún)名片") print("") print("0.退出系統(tǒng)") print("*" * 39) def zengjia(): """新增名片""" print("-" * 39) print("新增名片") # 1.提示用戶(hù)輸入名片的詳細(xì)信息 name = input("請(qǐng)輸入姓名:") phone = input("請(qǐng)輸入電話(huà)號(hào)碼:") qq = input("請(qǐng)輸入QQ號(hào)碼:") email = input("請(qǐng)輸入郵箱地址:") # 2.使用用戶(hù)輸入的信息建立一個(gè)名片字典 card_dict = {"姓名":name, "電話(huà)":phone, "QQ":qq, "郵箱":email } # 3.將名片字典添加到列表 card_list.append(card_dict) # print(card_list) # 4.提示用戶(hù)添加成功 print("添加%s的名片成功!" % name) def xianshi(): """顯示所有名片""" print("-" * 39) print("顯示所有名片") if len(card_list)==0: print("當(dāng)前沒(méi)有任何名片記錄,請(qǐng)使用新增名片功能添加新名片!") # return可以返回一個(gè)函數(shù)的執(zhí)行結(jié)果 # 下方的代碼不會(huì)被執(zhí)行 # 如果return后面沒(méi)有任何的內(nèi)容,表示會(huì)返回到調(diào)用函數(shù)的位置 # 并且不返回任何的結(jié)果 return # 打印表頭 for biaotou in["姓名","電話(huà)","QQ","郵箱"]: print(biaotou,end="\t\t") print("") # 打印分割線(xiàn) print("=" * 39) # 遍歷名片列表依次輸出字典信息 for i in card_list: print("%s\t\t%s\t\t%s\t\t%s"%(i["姓名"], i["電話(huà)"], i["QQ"], i["郵箱"])) def sousuo(): """搜索名片""" print("-" * 39) print("搜索名片") # 1.提示用戶(hù)輸入要搜索的姓名 find_name=input("請(qǐng)輸入要搜索的姓名:") # 2.遍歷名片列表,查詢(xún)要搜索的姓名,如果沒(méi)有找到,需要提示用戶(hù) for i in card_list: if i["姓名"]==find_name: print("姓名\t\t電話(huà)\t\tQQ\t\t郵箱") print("="*39) print("%s\t\t%s\t\t%s\t\t%s" % (i["姓名"], i["電話(huà)"], i["QQ"], i["郵箱"])) # 針對(duì)找到的名片記錄執(zhí)行修改和刪除的操作 deal_card(i) break else: print("抱歉,沒(méi)有找到%s,請(qǐng)重新輸入!"%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["姓名"]=input_card_info(find_dict["姓名"],"請(qǐng)輸入要修改的姓名:") find_dict["電話(huà)"] = input_card_info(find_dict["電話(huà)"],"請(qǐng)輸入要修改的電話(huà):") find_dict["QQ"] = input_card_info(find_dict["QQ"],"請(qǐng)輸入要修改的QQ:") find_dict["郵箱"] = input_card_info(find_dict["郵箱"],"請(qǐng)輸入要修改的郵箱:") print("修改名片成功!") elif action_str=="2": card_list.remove(find_dict) print("刪除【%s】名片成功!" %find_dict["姓名"]) def input_card_info(dict_value,tip_message ): """ 輸入名片信息 :param dict_value:字典中原有值 :param tip_message: 輸入的提示文字 :return: 如果用戶(hù)輸入了內(nèi)容,就返回內(nèi)容,否則返回字典中原有值 """ # 1.提示用戶(hù)輸入內(nèi)容 result_str = input(tip_message) # 2.針對(duì)用戶(hù)輸入進(jìn)行判斷,如果用戶(hù)輸入了內(nèi)容,直接返回結(jié)果 if len(result_str)>0: return result_str # 3.如果用戶(hù)沒(méi)有輸入內(nèi)容,返回“字典中的原有值” else: return dict_value
更多學(xué)習(xí)資料請(qǐng)關(guān)注專(zhuān)題《管理系統(tǒng)開(kāi)發(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)開(kāi)發(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)過(guò)程解析
- 如何使用Python實(shí)現(xiàn)名片管理系統(tǒng)
相關(guān)文章
在Python的Django框架中獲取單個(gè)對(duì)象數(shù)據(jù)的簡(jiǎn)單方法
這篇文章主要介紹了在Python的Django框架中獲取單個(gè)對(duì)象數(shù)據(jù)的簡(jiǎn)單方法,Django為數(shù)據(jù)的操作提供了諸多方便的功能,需要的朋友可以參考下2015-07-07python?中的?BeautifulSoup?網(wǎng)頁(yè)使用方法解析
這篇文章主要介紹了python?中的?BeautifulSoup?網(wǎng)頁(yè)使用方法解析,文章基于python的相關(guān)資料展開(kāi)詳細(xì)內(nèi)容介紹,具有一定的參考價(jià)值需要的小伙伴可以參考一下2022-04-04Python實(shí)現(xiàn)信息管理系統(tǒng)
這篇文章主要為大家詳細(xì)介紹了Python實(shí)現(xiàn)信息管理系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-06-06Python標(biāo)準(zhǔn)庫(kù)之?dāng)?shù)據(jù)庫(kù) sqlite3
這篇文章主要介紹了Python標(biāo)準(zhǔn)庫(kù)的數(shù)據(jù)庫(kù) sqlite3的相關(guān)資料,SQLite是一個(gè)輕量級(jí)、跨平臺(tái)的關(guān)系型數(shù)據(jù)庫(kù)。它的核心引擎本身不依賴(lài)第三方的軟件,使用它也不需要“安裝”。下面文字將對(duì)其簡(jiǎn)單介紹,需要的小伙伴可以參考下面文章內(nèi)容2021-09-09python關(guān)鍵字and和or用法實(shí)例
這篇文章主要介紹了python關(guān)鍵字and和or用法實(shí)例,本文直接給出實(shí)現(xiàn)代碼,需要的朋友可以參考下2015-05-05詳解Python各大聊天系統(tǒng)的屏蔽臟話(huà)功能原理
這篇文章主要介紹了詳解Python各大聊天系統(tǒng)的屏蔽臟話(huà)功能原理,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。2016-12-12python PrettyTable模塊的安裝與簡(jiǎn)單應(yīng)用
prettyTable 是一款很簡(jiǎn)潔但是功能強(qiáng)大的第三方模塊,主要是將輸入的數(shù)據(jù)轉(zhuǎn)化為格式化的形式來(lái)輸出,這篇文章主要介紹了python PrettyTable模塊的安裝與簡(jiǎn)單應(yīng)用,感興趣的小伙伴們可以參考一下2019-01-01Keras搭建孿生神經(jīng)網(wǎng)絡(luò)Siamese?network比較圖片相似性
這篇文章主要為大家介紹了Keras搭建孿生神經(jīng)網(wǎng)絡(luò)Siamese?network比較圖片相似性,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-05-05