python實(shí)現(xiàn)名片管理系統(tǒng)
本文實(shí)例為大家分享了python實(shí)現(xiàn)名片管理系統(tǒng)的具體代碼,供大家參考,具體內(nèi)容如下
系統(tǒng)需求
程序啟動(dòng),顯示名片管理系統(tǒng)歡迎界面,并顯示功能菜單
**************************************************
歡迎使用【名片管理系統(tǒng)】V1.0
1. 新建名片
2. 顯示全部
3. 查詢名片
0. 退出系統(tǒng)
**************************************************
- 用戶用數(shù)字選擇不同的功能
- 根據(jù)功能選擇,執(zhí)行不同的功能
- 用戶名片需要記錄用戶的 姓名、電話、QQ、郵件
- 如果查詢到指定的名片,用戶可以選擇 修改 或者 刪除 名片
- 信息保存本地
需求分析
- 采用分文件的方式進(jìn)行開發(fā),主文件cards_main.py復(fù)雜業(yè)務(wù)邏輯,cards_tool.py文件負(fù)責(zé)具體的功能實(shí)現(xiàn)。
- 新建名片、顯示全部、查詢名片 對(duì)應(yīng)相應(yīng)的功能函數(shù)。如果代碼過長(zhǎng),再進(jìn)行拆分。
- 數(shù)據(jù)結(jié)構(gòu)的選擇?一條名片包含多個(gè)鍵值對(duì)采用字典數(shù)據(jù)類型,所有名片信息 采用列表數(shù)據(jù)結(jié)構(gòu)。
- 保證名片信息的本地保存和讀取使用python的文件操作,進(jìn)入名片系統(tǒng)先對(duì)名信息文件進(jìn)行讀取,在退出名片系統(tǒng)時(shí),將所有名片信息重新寫入到名片文件中。
代碼實(shí)現(xiàn)
代碼很簡(jiǎn)潔,注釋太多 容易凌亂。
cards_main.py
import cards_tool # 主業(yè)務(wù)邏輯 cards_tool.read_card() # 1.顯示用戶主界面 while True: cards_tool.show_menu() menu_str = input("請(qǐng)選擇執(zhí)行的操作:") print("您選擇的功能:%s" % menu_str) if menu_str == "1": cards_tool.create_card() elif menu_str == "2": cards_tool.show_card_all() elif menu_str == "3": cards_tool.search_card() elif menu_str == "0": cards_tool.write_card() break else: print("輸入有誤,請(qǐng)重新輸入")
cards_tool.py
import os card_info_all = [] # 所有名片信息 # 名片管理 具體功能 def write_card(): """退出系統(tǒng)時(shí),將名片信息保存到文件夾中""" f = open("E:\\workspace_python\\FirstDemo\\名片管理系統(tǒng).txt", "w") f.write(str(card_info_all)) f.close() def read_card(): """進(jìn)入系統(tǒng)時(shí),將名片信息加載到內(nèi)存中""" is_exist = os.path.exists("E:\\workspace_python\\FirstDemo\\名片管理系統(tǒng).txt") if is_exist: # 文件存在將信息加載到內(nèi)存中 f = open("E:\\workspace_python\\FirstDemo\\名片管理系統(tǒng).txt","r") global card_info_all card_info_all = eval(f.read()) # print(card_info_all) f.close() else: # 沒有文件創(chuàng)建空文件 f = open("E:\\workspace_python\\FirstDemo\\名片管理系統(tǒng).txt", "w") f.close() print(is_exist) def show_menu(): """主菜單頁面展示""" print("*"*30) print("歡迎使用[命名管理系統(tǒng)] v1.0") print() print("1.新建名片") print("2.顯示全部") print("3.查詢名片") print() print("0.退出系統(tǒng)") print("*"*30) def create_card(): """新建名片""" print("功能:新建名片") name = input("請(qǐng)輸入姓名:") phone = input("請(qǐng)輸入電話:") qq = input("請(qǐng)輸入qq號(hào):") email = input("請(qǐng)輸入郵箱:") card_info = {"name":name,"phone":phone, "qq":qq, "email":email} card_info_all.append(card_info) print("添加%s的名片成功" % name) def show_card_all(): """顯示所有名片""" print("功能:顯示全部") if not len(card_info_all): print("沒有任何名片") return print("name".ljust(14),"phone".ljust(14),"qq".ljust(14),"email".ljust(14),sep="") print("-"*56) for card in card_info_all: print(card["name"].ljust(14),card["phone"].ljust(14),card["qq"].ljust(14),card["email"].ljust(14),sep="") print("-"*56) def search_card(): """查詢名片""" print("功能:查詢名片") name = input("請(qǐng)輸入查詢的姓名:") for card in card_info_all: if name == card["name"]: print("name".ljust(14), "phone".ljust(14), "qq".ljust(14), "email".ljust(14), sep="") print("-" * 56) print(card["name"].ljust(14), card["phone"].ljust(14), card["qq"].ljust(14), card["email"].ljust(14),sep="") # 名片高級(jí)處理 set_card(card) break; else: print("沒有找到%s" % name) def set_card(card): """名片的高級(jí)設(shè)置""" while True: menu = input("請(qǐng)輸入對(duì)名片的操作:1.修改/ 2.刪除/ 0.返回上一級(jí)") if menu == "1": name = input("請(qǐng)輸入姓名:") phone = input("請(qǐng)輸入電話:") qq = input("請(qǐng)輸入qq號(hào):") email = input("請(qǐng)輸入郵箱:") card["name"] = name card["phone"] = phone card["qq"] = qq card["email"] = email print("%s 的名片修改成功" % name) return elif menu == "2": card_info_all.remove(card) print("刪除名片成功") return elif menu == "0": return else: print("輸入有誤,請(qǐng)重新輸入")
代碼運(yùn)行結(jié)果
練習(xí)總結(jié)
這個(gè)小練習(xí)主要是對(duì)python基礎(chǔ)知識(shí)的綜合運(yùn)用,入手python 這些基本知識(shí)一定要掌握,有過其他編程語言經(jīng)驗(yàn)的小伙伴是不是感覺很簡(jiǎn)單。
更多學(xué)習(xí)資料請(qǐng)關(guān)注專題《管理系統(tǒng)開發(fā)》。
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- 詳解Python做一個(gè)名片管理系統(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 figure參數(shù)及subplot子圖繪制代碼
這篇文章主要介紹了Python figure參數(shù)及subplot子圖繪制代碼,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-04-04python 中文字符串的處理實(shí)現(xiàn)代碼
python中直接將一個(gè)中文字符串賦值給一個(gè)變量使用的是utf-8格式的編碼,以下為證.2009-10-10PyTorch中flatten()?函數(shù)的用法實(shí)例小結(jié)
在PyTorch中,flatten函數(shù)的作用是將一個(gè)多維的張量轉(zhuǎn)換為一維的向量,它可以將任意形狀的張量轉(zhuǎn)換為一維,而不需要指定轉(zhuǎn)換后的大小,這篇文章主要介紹了PyTorch中flatten()?函數(shù)的用法,需要的朋友可以參考下2023-11-11python3模擬實(shí)現(xiàn)xshell遠(yuǎn)程執(zhí)行l(wèi)inux命令的方法
今天小編就為大家分享一篇python3模擬實(shí)現(xiàn)xshell遠(yuǎn)程執(zhí)行l(wèi)inux命令的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2019-07-07Opencv實(shí)現(xiàn)鼠標(biāo)事件與窗口互動(dòng)功能過程
平時(shí)在做圖像處理demo或者研究測(cè)試算法時(shí),經(jīng)常會(huì)用到imshow和鼠標(biāo)的交互,比如在顯示圖像的窗口上畫點(diǎn)、線、圓、矩形、多邊形等操作,故在此做出用法總結(jié)2022-12-12樹莓派3 搭建 django 服務(wù)器的實(shí)例
今天小編就為大家分享一篇樹莓派3 搭建 django 服務(wù)器的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2019-08-08Python?web實(shí)戰(zhàn)教程之Django文件上傳和處理詳解
Django和Flask都是Python的Web框架,用于開發(fā)Web應(yīng)用程序,這篇文章主要給大家介紹了關(guān)于Python?web實(shí)戰(zhàn)教程之Django文件上傳和處理的相關(guān)資料,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下2023-12-12