溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Python中怎么實(shí)現(xiàn)名片管理系統(tǒng)

發(fā)布時(shí)間:2021-03-23 13:47:10 來源:億速云 閱讀:192 作者:小新 欄目:開發(fā)技術(shù)

這篇文章主要介紹了Python中怎么實(shí)現(xiàn)名片管理系統(tǒng),具有一定借鑒價(jià)值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

Python實(shí)現(xiàn)名片管理系統(tǒng)的具體代碼

目標(biāo)

綜合應(yīng)用已經(jīng)學(xué)習(xí)過的知識(shí)點(diǎn):

  • 變量

  • 流程控制

  • 函數(shù)

  • 模塊

系統(tǒng)需求

1. 程序啟動(dòng),顯示名片管理系統(tǒng)歡迎界面,并顯示功能菜單

Python中怎么實(shí)現(xiàn)名片管理系統(tǒng)

2 用戶用數(shù)字選擇不同的功能
3. 根據(jù)功能選擇,執(zhí)行不同的功能
4. 用戶名片需要記錄用戶的 姓名、電話、QQ、郵件
5. 如果查詢到指定的名片,用戶可以選擇 修改 或者 刪除 名片

文件準(zhǔn)備

新建 cards_main.py 保存主程序功能代碼
新建 cards_tools.py 保存所有名片功能函數(shù)

代碼

cards_main.py :

# encoding:utf-8
_date_ = "2020/2/8 12:17"

import cards_tools

while True:
 # 顯示功能菜單
 cards_tools.caidan()
 xuanze=input("請(qǐng)選擇希望操作的功能:")
 print("您選擇的操作是【%s】" % xuanze)

 # 如果用戶輸入的是1,2,3則是針對(duì)名片的操作
 if xuanze in ["1","2","3"]:
 # 新增名片處理
 if xuanze=="1":
  cards_tools.zengjia()
 # 顯示全部名片
 elif xuanze=="2":
  cards_tools.xianshi()
 # 查詢和修改名片操作
 elif xuanze=="3":
  cards_tools.sousuo()

 # 如果用戶輸入的是0則退出系統(tǒng)
 elif xuanze=="0":
 print("正在退出,期待您再次使用【名片管理系統(tǒng)】!")
 break
 # 如果用戶輸入別的內(nèi)容則提示輸入有誤
 else:
 print("您輸入的不正確,請(qǐng)重新選擇?。?!")

cards_tools.py :

# encoding:utf-8
_date_ = "2020/2/8 12:32"

# 記錄所有的名片字典
card_list = []

def caidan():
 """顯示菜單"""
 print("*"*39)
 print("歡迎使用【名片管理系統(tǒng)】v1.0")
 print("")
 print("1.新增名片")
 print("2.顯示全部")
 print("3.查詢名片")
 print("")
 print("0.退出系統(tǒng)")
 print("*" * 39)

def zengjia():
 """新增名片"""
 print("-" * 39)
 print("新增名片")

 # 1.提示用戶輸入名片的詳細(xì)信息
 name = input("請(qǐng)輸入姓名:")
 phone = input("請(qǐng)輸入電話號(hào)碼:")
 qq = input("請(qǐng)輸入QQ號(hào)碼:")
 email = input("請(qǐng)輸入郵箱地址:")
 # 2.使用用戶輸入的信息建立一個(gè)名片字典
 card_dict = {"姓名":name,
   "電話":phone,
   "QQ":qq,
   "郵箱":email
   }
 # 3.將名片字典添加到列表
 card_list.append(card_dict)

 # print(card_list)
 # 4.提示用戶添加成功
 print("添加%s的名片成功!" % name)

def xianshi():
 """顯示所有名片"""
 print("-" * 39)
 print("顯示所有名片")

 if len(card_list)==0:
 print("當(dāng)前沒有任何名片記錄,請(qǐng)使用新增名片功能添加新名片!")
 # return可以返回一個(gè)函數(shù)的執(zhí)行結(jié)果
 # 下方的代碼不會(huì)被執(zhí)行
 # 如果return后面沒有任何的內(nèi)容,表示會(huì)返回到調(diào)用函數(shù)的位置
 # 并且不返回任何的結(jié)果
 return
 # 打印表頭
 for biaotou in["姓名","電話","QQ","郵箱"]:
 print(biaotou,end="\t\t")
 print("")

 # 打印分割線
 print("=" * 39)
 # 遍歷名片列表依次輸出字典信息
 for i in card_list:
 print("%s\t\t%s\t\t%s\t\t%s"%(i["姓名"],
     i["電話"],
     i["QQ"],
     i["郵箱"]))

def sousuo():
 """搜索名片"""
 print("-" * 39)
 print("搜索名片")

 # 1.提示用戶輸入要搜索的姓名
 find_name=input("請(qǐng)輸入要搜索的姓名:")

 # 2.遍歷名片列表,查詢要搜索的姓名,如果沒有找到,需要提示用戶
 for i in card_list:
 if i["姓名"]==find_name:
  print("姓名\t\t電話\t\tQQ\t\t郵箱")
  print("="*39)
  print("%s\t\t%s\t\t%s\t\t%s" % (i["姓名"],
      i["電話"],
      i["QQ"],
      i["郵箱"]))
  # 針對(duì)找到的名片記錄執(zhí)行修改和刪除的操作
  deal_card(i)
  break
 else:
 print("抱歉,沒有找到%s,請(qǐng)重新輸入!"%find_name)

def deal_card(find_dict):
 """
 處理查找到的名片
 :param find_dict:查找到的名片
 """
 # print(find_dict)

 action_str = input("請(qǐng)選擇要執(zhí)行的操作1.修改 2.刪除 0.返回上級(jí)菜單:")

 if action_str=="1":
 find_dict["姓名"]=input_card_info(find_dict["姓名"],"請(qǐng)輸入要修改的姓名:")
 find_dict["電話"] = input_card_info(find_dict["電話"],"請(qǐng)輸入要修改的電話:")
 find_dict["QQ"] = input_card_info(find_dict["QQ"],"請(qǐng)輸入要修改的QQ:")
 find_dict["郵箱"] = input_card_info(find_dict["郵箱"],"請(qǐng)輸入要修改的郵箱:")
 print("修改名片成功!")
 elif action_str=="2":
 card_list.remove(find_dict)
 print("刪除【%s】名片成功!" %find_dict["姓名"])

def input_card_info(dict_value,tip_message ):
 """
 輸入名片信息
 :param dict_value:字典中原有值
 :param tip_message: 輸入的提示文字
 :return: 如果用戶輸入了內(nèi)容,就返回內(nèi)容,否則返回字典中原有值
 """
 # 1.提示用戶輸入內(nèi)容
 result_str = input(tip_message)
 # 2.針對(duì)用戶輸入進(jìn)行判斷,如果用戶輸入了內(nèi)容,直接返回結(jié)果
 if len(result_str)>0:
 return result_str
 # 3.如果用戶沒有輸入內(nèi)容,返回“字典中的原有值”
 else:
 return dict_value

感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享的“Python中怎么實(shí)現(xiàn)名片管理系統(tǒng)”這篇文章對(duì)大家有幫助,同時(shí)也希望大家多多支持億速云,關(guān)注億速云行業(yè)資訊頻道,更多相關(guān)知識(shí)等著你來學(xué)習(xí)!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI