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('請輸入電話號碼:') 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('請輸入修改的號碼[按回車鍵可不修改]:') 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. 一文秒懂idea的git插件跟翻譯插件2. 將properties文件的配置設(shè)置為整個(gè)Web應(yīng)用的全局變量實(shí)現(xiàn)方法3. docker compose idea CreateProcess error=2 系統(tǒng)找不到指定的文件的問題4. JS算法題解旋轉(zhuǎn)數(shù)組方法示例5. 使用FormData進(jìn)行Ajax請求上傳文件的實(shí)例代碼6. XML入門的常見問題(四)7. .NET使用StackTrace獲取方法調(diào)用信息的代碼演示8. Python語言規(guī)范之Pylint的詳細(xì)用法9. python中pandas.read_csv()函數(shù)的深入講解10. layui的checbox在Ajax局部刷新下的設(shè)置方法
