詳解Python做一個(gè)名片管理系統(tǒng)
名片管理系統(tǒng)有兩個(gè)模塊組成:cards_main.py
和 cards_tools.py
一個(gè)是主程序,另一個(gè)是封裝增刪改查函數(shù)的被調(diào)用程序
代碼如下
cards_main.py
#! /usr/bin/python # -*- coding:utf-8 -*- import cards_tools # 無(wú)限循環(huán),用戶決定什么時(shí)候退出循環(huán)! while True: # TODO(作者) 顯示功能菜單 # TODO 提醒要做的事情 cards_tools.show_menu() action_str = raw_input('請(qǐng)選擇希望執(zhí)行的操作:') print '您選擇的操作是【%s】' %action_str # 1,2,3針對(duì)名片的操作 if action_str in ['1', '2', '3']: pass #新增名片 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)' #如果暫時(shí)不想寫(xiě)分支代碼 #可以用pass break # 其他內(nèi)容錯(cuò)誤,提示用戶 else: print '您輸入的不正確,請(qǐng)重新選擇'
cards_tools.py
cards_tools.py # -*- coding:utf-8 -*- #用列表記錄所有名片字典 card_list = [] def show_menu(): """顯示菜單""" print '*'*50 print '歡迎使用【名片管理系統(tǒng) v1.0】' print '' print '1. 新增名片' print '2. 顯示全部' print '3. 搜索名片' print '0. 退出系統(tǒng)' print '*'*50 def new_card(): """新增名片""" print '新增名片' # 1. 提示用戶輸入名片的詳細(xì)信息 name_str = raw_input('請(qǐng)輸入姓名:') phone_str = raw_input('請(qǐng)輸入電話:') qq_str = raw_input('請(qǐng)輸入QQ:') email_str = raw_input('請(qǐng)輸入郵箱:') # 2. 使用用戶輸入信息建立一個(gè)字典 card_dic = {'name': name_str, 'phone': phone_str, 'qq': qq_str, 'email': email_str } # 3. 將名片字典添加到列表 card_list.append(card_dic) # 4. 提示用戶添加成功 print '用戶 %s 添加成功' %name_str def show_all(): """展示所有名片""" print '展示所有名片' # 如果沒(méi)有任何名片 if len(card_list) == 0: print '當(dāng)前沒(méi)有任何名片' # return可以返回結(jié)果給函數(shù) # 也可以直接結(jié)束函數(shù) # return后的代碼不執(zhí)行 return # 打印表頭 for head in ['姓名', '電話','QQ', '郵箱']: print '%s\t\t' % head, print '' for card_dic in card_list: print '%s\t\t%s\t\t%s\t\t%s\t\t' % (card_dic['name'], card_dic['phone'], card_dic['qq'] , card_dic['email']) print '' def search_card(): """搜索名片""" print '搜索名片' # 1. 提示用戶要搜索的姓名 find_name = raw_input('請(qǐng)輸入你要搜索的姓名:') # 2. 遍歷列表進(jìn)行查詢,如果沒(méi)有則提示用戶 for card_dic in card_list: if card_dic['name'] == find_name: print '找到了 %s' % find_name print '%s\t\t%s\t\t%s\t\t%s\t\t' % (card_dic['name'], card_dic['phone'], card_dic['qq'] , card_dic['email']) # 針對(duì)找到的記錄進(jìn)行修改和刪除 deal_card(card_dic) break else: print '沒(méi)有找到 %s' % find_name def deal_card(find_dic): """ 處理找到的名片,進(jìn)行修改和刪除 :param find_dic: 找到的字典名片 """ print find_dic action_str = raw_input('請(qǐng)選擇要執(zhí)行的操作' '[1]修改 [2]刪除 [0]返回上級(jí)菜單') if action_str == '1': input_card_info(find_dic['name'], '姓名:') input_card_info(find_dic['phone'], '電話:') input_card_info(find_dic['qq'], 'QQ:') input_card_info(find_dic['email'], '郵箱:') print '修改名片成功' elif action_str == '2': card_list.remove(find_dic) print '刪除名片成功' def input_card_info(dic_value, tip_message): """輸入名片信息 :param dic_value:字典原有值 :param tip_message:輸入的提示文字 :return :返回修改后的值,如果沒(méi)有輸入則返回原值 """ result_str = raw_input(tip_message) # if len(result_str) > 0: # return result_str # # 3. 如果用戶沒(méi)有輸入,則用原來(lái)的值 # else: # return dic_value if len(result_str) > 0: dic_value = result_str else: dic_value = dic_value
以上所述是小編給大家介紹的Python如何做一個(gè)名片管理系統(tǒng)詳解整合,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
- python實(shí)現(xiàn)名片管理系統(tǒng)
- python實(shí)現(xiàn)簡(jiǎn)單名片管理系統(tǒng)
- 名片管理系統(tǒng)python版
- 一個(gè)簡(jiǎn)單的Python名片管理系統(tǒng)
- python3實(shí)現(xiàn)名片管理系統(tǒng)
- python面向?qū)ο髮?shí)現(xiàn)名片管理系統(tǒng)文件版
- 基于python實(shí)現(xiàn)名片管理系統(tǒng)
- Python實(shí)現(xiàn)名片管理系統(tǒng)
- Python版名片管理系統(tǒng)
- python實(shí)現(xiàn)簡(jiǎn)單的名片管理系統(tǒng)
相關(guān)文章
python實(shí)現(xiàn)Nao機(jī)器人的單目測(cè)距
這篇文章主要為大家詳細(xì)介紹了python實(shí)現(xiàn)Nao機(jī)器人的單目測(cè)距,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-09-09python深度學(xué)習(xí)TensorFlow神經(jīng)網(wǎng)絡(luò)模型的保存和讀取
這篇文章主要為大家介紹了python深度學(xué)習(xí)TensorFlow神經(jīng)網(wǎng)絡(luò)如何將訓(xùn)練得到的模型保存下來(lái)方便下次直接使用。為了讓訓(xùn)練結(jié)果可以復(fù)用,需要將訓(xùn)練好的神經(jīng)網(wǎng)絡(luò)模型持久化2021-11-11Python3爬蟲(chóng)里關(guān)于代理的設(shè)置總結(jié)
在本篇文章里小編給大家整理的是一篇關(guān)于Python3爬蟲(chóng)里關(guān)于代理的設(shè)置總結(jié),需要的朋友們可以參考下。2020-07-07Python自動(dòng)化辦公Excel模塊openpyxl原理及用法解析
這篇文章主要介紹了Python自動(dòng)化辦公Excel模塊openpyxl原理及用法解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-11-11Python對(duì)象的生命周期源碼學(xué)習(xí)
這篇文章主要為大家介紹了Python對(duì)象的生命周期源碼學(xué)習(xí),有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-05-05Python Pytest裝飾器@pytest.mark.parametrize詳解
本文主要介紹了Python Pytest裝飾器@pytest.mark.parametrize詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-08-08Python腳本在Appium庫(kù)上對(duì)移動(dòng)應(yīng)用實(shí)現(xiàn)自動(dòng)化測(cè)試
這篇文章主要介紹了使用Python的Appium庫(kù)對(duì)移動(dòng)應(yīng)用實(shí)現(xiàn)自動(dòng)化測(cè)試的教程,屬于Python腳本的一個(gè)自動(dòng)化應(yīng)用,需要的朋友可以參考下2015-04-04Django 對(duì)象關(guān)系映射(ORM)源碼詳解
這篇文章主要介紹了Django 對(duì)象關(guān)系映射(ORM)源碼詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-08-08