python實現(xiàn)名片管理系統(tǒng)
本文實例為大家分享了python實現(xiàn)名片管理系統(tǒng)的具體代碼,供大家參考,具體內(nèi)容如下
系統(tǒng)需求
程序啟動,顯示名片管理系統(tǒng)歡迎界面,并顯示功能菜單
**************************************************
歡迎使用【名片管理系統(tǒng)】V1.0
1. 新建名片
2. 顯示全部
3. 查詢名片
0. 退出系統(tǒng)
**************************************************
- 用戶用數(shù)字選擇不同的功能
- 根據(jù)功能選擇,執(zhí)行不同的功能
- 用戶名片需要記錄用戶的 姓名、電話、QQ、郵件
- 如果查詢到指定的名片,用戶可以選擇 修改 或者 刪除 名片
- 信息保存本地
需求分析
- 采用分文件的方式進行開發(fā),主文件cards_main.py復雜業(yè)務邏輯,cards_tool.py文件負責具體的功能實現(xiàn)。
- 新建名片、顯示全部、查詢名片 對應相應的功能函數(shù)。如果代碼過長,再進行拆分。
- 數(shù)據(jù)結(jié)構(gòu)的選擇?一條名片包含多個鍵值對采用字典數(shù)據(jù)類型,所有名片信息 采用列表數(shù)據(jù)結(jié)構(gòu)。
- 保證名片信息的本地保存和讀取使用python的文件操作,進入名片系統(tǒng)先對名信息文件進行讀取,在退出名片系統(tǒng)時,將所有名片信息重新寫入到名片文件中。
代碼實現(xiàn)
代碼很簡潔,注釋太多 容易凌亂。
cards_main.py
import cards_tool
# 主業(yè)務邏輯
cards_tool.read_card()
# 1.顯示用戶主界面
while True:
cards_tool.show_menu()
menu_str = input("請選擇執(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("輸入有誤,請重新輸入")
cards_tool.py
import os
card_info_all = [] # 所有名片信息
# 名片管理 具體功能
def write_card():
"""退出系統(tǒng)時,將名片信息保存到文件夾中"""
f = open("E:\\workspace_python\\FirstDemo\\名片管理系統(tǒng).txt", "w")
f.write(str(card_info_all))
f.close()
def read_card():
"""進入系統(tǒng)時,將名片信息加載到內(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("請輸入姓名:")
phone = input("請輸入電話:")
qq = input("請輸入qq號:")
email = input("請輸入郵箱:")
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("請輸入查詢的姓名:")
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="")
# 名片高級處理
set_card(card)
break;
else:
print("沒有找到%s" % name)
def set_card(card):
"""名片的高級設(shè)置"""
while True:
menu = input("請輸入對名片的操作:1.修改/ 2.刪除/ 0.返回上一級")
if menu == "1":
name = input("請輸入姓名:")
phone = input("請輸入電話:")
qq = input("請輸入qq號:")
email = input("請輸入郵箱:")
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("輸入有誤,請重新輸入")
代碼運行結(jié)果


練習總結(jié)
這個小練習主要是對python基礎(chǔ)知識的綜合運用,入手python 這些基本知識一定要掌握,有過其他編程語言經(jīng)驗的小伙伴是不是感覺很簡單。
更多學習資料請關(guān)注專題《管理系統(tǒng)開發(fā)》。
以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Python figure參數(shù)及subplot子圖繪制代碼
這篇文章主要介紹了Python figure參數(shù)及subplot子圖繪制代碼,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2020-04-04
PyTorch中flatten()?函數(shù)的用法實例小結(jié)
在PyTorch中,flatten函數(shù)的作用是將一個多維的張量轉(zhuǎn)換為一維的向量,它可以將任意形狀的張量轉(zhuǎn)換為一維,而不需要指定轉(zhuǎn)換后的大小,這篇文章主要介紹了PyTorch中flatten()?函數(shù)的用法,需要的朋友可以參考下2023-11-11
python3模擬實現(xiàn)xshell遠程執(zhí)行l(wèi)inux命令的方法
今天小編就為大家分享一篇python3模擬實現(xiàn)xshell遠程執(zhí)行l(wèi)inux命令的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-07-07
Python?web實戰(zhàn)教程之Django文件上傳和處理詳解
Django和Flask都是Python的Web框架,用于開發(fā)Web應用程序,這篇文章主要給大家介紹了關(guān)于Python?web實戰(zhàn)教程之Django文件上傳和處理的相關(guān)資料,文中通過代碼介紹的非常詳細,需要的朋友可以參考下2023-12-12

