python實(shí)現(xiàn)簡單的名片管理系統(tǒng)
本文實(shí)例為大家分享了python實(shí)現(xiàn)名片管理系統(tǒng)的具體代碼,供大家參考,具體內(nèi)容如下
名片管理系統(tǒng)
前提:實(shí)現(xiàn)名片管理系統(tǒng),首先要?jiǎng)?chuàng)建兩個(gè)python file ,分別是cards_main.py和cards_tool.py,前一個(gè)是主代碼塊的實(shí)現(xiàn),后一個(gè)是提供主代碼塊所調(diào)用的函數(shù)
1.主代碼塊的實(shí)現(xiàn)
import cards_tool as ct #導(dǎo)入cards_tool文件,簡稱ct,以便調(diào)用其中的函數(shù)while True: ct.show_menu() num=int(input('請選擇操作功能:')) print(f'您選擇的操作是[{num}]') if num==0:break elif num==1: ct.creat_card() elif num==2:ct.show_cards() elif num==3:ct.search_card() else:print('對不起,你輸入的有誤,請重新輸入')print('歡迎再次使用名片管理系統(tǒng)!')
主界面的顯示:
注:show_menu()是實(shí)現(xiàn)菜單功能,creat_card()是實(shí)現(xiàn)創(chuàng)建名片功能, show_cards()是實(shí)現(xiàn)展示所有名片功能,search_cards()是實(shí)現(xiàn)查詢名片功能,通過用戶輸入的數(shù)字進(jìn)行對應(yīng)功能的實(shí)現(xiàn),為了讓函數(shù)不只執(zhí)行一次,故放在while循環(huán)語句中,只有當(dāng)用戶輸入0才能退出系統(tǒng)
2.菜單功能的實(shí)現(xiàn):
def show_menu(): print('*'*50) print('歡迎使用[名片管理系統(tǒng)]') print('1.新建名片') print('2.顯示全部') print('3.查詢名片') print('0.退出系統(tǒng)') print('*'*50)
3.創(chuàng)建名片功能的實(shí)現(xiàn):
def creat_card(): print('-'*50) print('功能:新增名片') name=input('請輸入姓名:') number=input('請輸入電話號(hào)碼:') qq= input('請輸入qq:') card_dict={'name':name,'phone':number,'qq':qq} cards_list.append(card_dict) print(f'添加[{name}]的名片成功!')
注:首先要在cards_tool.py文件中創(chuàng)建一個(gè)全局變量cards_list = [],用來存儲(chǔ)每個(gè)名片,每個(gè)名片又是一個(gè)字典,里面存儲(chǔ)的是用戶的相關(guān)信息
操作過程:
注:每次的操做功能實(shí)現(xiàn)后都會(huì)回到菜單界面
4.顯示所有名片功能的實(shí)現(xiàn):
def show_cards(): print('-' * 50) print('功能:顯示所有名片') if cards_list:for name in ['name', 'number', 'qq']: print(name,end='tt')print()print('='*50)for card_dict in cards_list: for key in card_dict:print(f'{card_dict[key]}ttt',end='') print() else:print('暫時(shí)沒有名片,請使用新建名片功能添加名片!')
注: if語句對cards_list列表是否為空進(jìn)行了判斷,為空會(huì)給出提示,不為空,就循環(huán)打印列表中的數(shù)據(jù)
剛剛咱們已經(jīng)添加了一個(gè)姓名為“奈落”的名片,下面我們就顯示一下所有名片的信息
5.查詢名片功能的實(shí)現(xiàn):
def search_card(): print('-' * 50) print('功能:查找名片') name=input('請輸入要查找的姓名:') for card_dict in cards_list:for key in card_dict: if card_dict[key]==name:print('name','phone','qq')print('=' *50)print(card_dict['name'],card_dict['phone'],card_dict['qq'],end='t')print()print('=' *50)deal_card(card_dict)return print('該用戶不存在!')
操作過程:
注:找到就列出該名片的信息,找不到會(huì)給出提示,其中deal_card(card_dict)函數(shù)的作用是對名片進(jìn)行相關(guān)的操作,傳入一個(gè)字典參數(shù),字典存儲(chǔ)的是該名片具體信息
6.對名片具體操作的實(shí)現(xiàn):
def deal_card(card_dict): num=int(input('請輸入對名片名的操作(1:修改 2.刪除 0.返回上級菜單):')) if num==1:print('----------------更新名片功能-----------------')update_card(card_dict) elif num==2:print('----------------刪除名片功能-----------------')delete_card(card_dict) elif num == 0:return else:print('對不起,你輸入的有誤,請重新輸入')deal_card(card_dict)
注:用戶輸入相關(guān)操作的數(shù)字,就會(huì)執(zhí)行對應(yīng)的函數(shù),update_card(card_dict)是對名片相關(guān)信息進(jìn)行修改,delete_card(card_dict)是對名片進(jìn)行刪除,若輸入有誤,會(huì)給出提示
7.對名片進(jìn)行修改功能的實(shí)現(xiàn):
def update_card(card_dict): name = input('請輸入修改的姓名[按回車鍵可不修改]:') number = input('請輸入修改的號(hào)碼[按回車鍵可不修改]:') qq = input('請輸入修改的qq[按回車鍵可不修改]:') if name:card_dict['name']=name if number:card_dict['phone']=number if qq:card_dict['qq']=qq print('恭喜您修改成功!')
注:判斷用戶輸入的信息是否為空,為空對名片中的信息不進(jìn)行更改,不為空就進(jìn)行賦值更改信息
現(xiàn)在咱們把剛剛添加的名片,用戶名為“奈落”的改為“小奈落”,然后再進(jìn)行顯示名片信息。
操作過程:
8.對名片進(jìn)行刪除功能的實(shí)現(xiàn):
def delete_card(card_dict): result=input('是否刪除該名片y/n:') if result in ['Y','y']:cards_list.remove(card_dict)print('恭喜您,刪除成功!') elif result in ['N','n']:return else:print('對不起,你輸入的有誤,請重新輸入')deal_card(card_dict)
現(xiàn)在我們將添加的用戶名為小奈落的名片刪除,然后再顯示全部名片信息
操作過程:
這樣簡單的名片管理系統(tǒng)就算完成了,初學(xué)python
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持好吧啦網(wǎng)。
相關(guān)文章:
1. asp(vbs)Rs.Open和Conn.Execute的詳解和區(qū)別及&H0001的說明2. CSS hack用法案例詳解3. ASP 處理JSON數(shù)據(jù)的實(shí)現(xiàn)代碼4. PHP設(shè)計(jì)模式中工廠模式深入詳解5. 用css截取字符的幾種方法詳解(css排版隱藏溢出文本)6. asp中response.write("中文")或者js中文亂碼問題7. ASP.NET MVC遍歷驗(yàn)證ModelState的錯(cuò)誤信息8. ThinkPHP5實(shí)現(xiàn)JWT Token認(rèn)證的過程(親測可用)9. ASP 信息提示函數(shù)并作返回或者轉(zhuǎn)向10. .Net Core和RabbitMQ限制循環(huán)消費(fèi)的方法
