詳解Python做一個名片管理系統

 更新時間:2019-04-17 21:45:19   作者:佚名   我要評論(0)

名片管理系統有兩個模塊組成:cards_main.py 和 cards_tools.py一個是主程序,另一個是封裝增刪改查函數的被調用程序
代碼如下
cards_main.py


#! /usr/bin/

名片管理系統有兩個模塊組成:cards_main.py cards_tools.py一個是主程序,另一個是封裝增刪改查函數的被調用程序

代碼如下

cards_main.py

#! /usr/bin/python
# -*- coding:utf-8 -*-
import cards_tools

# 無限循環,用戶決定什么時候退出循環!
while True:
 # TODO(作者) 顯示功能菜單
 # TODO 提醒要做的事情
 cards_tools.show_menu()

 action_str = raw_input('請選擇希望執行的操作:')
 print '您選擇的操作是【%s】' %action_str

 # 1,2,3針對名片的操作
 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 退出系統
 elif action_str == '0':
  print '歡迎再次使用名片系統'
  #如果暫時不想寫分支代碼
  #可以用pass
  break
 # 其他內容錯誤,提示用戶
 else:
  print '您輸入的不正確,請重新選擇'

cards_tools.py

cards_tools.py

# -*- coding:utf-8 -*-

#用列表記錄所有名片字典
card_list = []


def show_menu():

 """顯示菜單"""
 print '*'*50
 print '歡迎使用【名片管理系統 v1.0】'
 print ''
 print '1. 新增名片'
 print '2. 顯示全部'
 print '3. 搜索名片'
 print '0. 退出系統'
 print '*'*50


def new_card():

 """新增名片"""
 print '新增名片'
 # 1. 提示用戶輸入名片的詳細信息
 name_str = raw_input('請輸入姓名:')
 phone_str = raw_input('請輸入電話:')
 qq_str = raw_input('請輸入QQ:')
 email_str = raw_input('請輸入郵箱:')

 # 2. 使用用戶輸入信息建立一個字典
 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 '展示所有名片'

 # 如果沒有任何名片
 if len(card_list) == 0:
  print '當前沒有任何名片'

  # return可以返回結果給函數
  # 也可以直接結束函數
  # return后的代碼不執行
  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('請輸入你要搜索的姓名:')

 # 2. 遍歷列表進行查詢,如果沒有則提示用戶
 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'])

   # 針對找到的記錄進行修改和刪除
   deal_card(card_dic)
   break
 else:
  print '沒有找到 %s' % find_name


def deal_card(find_dic):

 """
 處理找到的名片,進行修改和刪除
 :param find_dic: 找到的字典名片
 """
 print find_dic

 action_str = raw_input('請選擇要執行的操作'
       '[1]修改 [2]刪除 [0]返回上級菜單')

 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 :返回修改后的值,如果沒有輸入則返回原值
 """
 result_str = raw_input(tip_message)
 # if len(result_str) > 0:
 #  return result_str
 # # 3. 如果用戶沒有輸入,則用原來的值
 # else:
 #  return dic_value
 if len(result_str) > 0:
  dic_value = result_str
 else:
  dic_value = dic_value

以上所述是小編給大家介紹的Python如何做一個名片管理系統詳解整合,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網站的支持!

您可能感興趣的文章:

  • Python通過TensorFlow卷積神經網絡實現貓狗識別
  • python3實現釘釘消息推送的方法示例
  • 在Python中使用Neo4j的方法
  • 淺談Python中eval的強大與危害
  • 詳解python中init方法和隨機數方法
  • Python使用sqlalchemy模塊連接數據庫操作示例
  • python ---lambda匿名函數介紹
  • Python實現的調用C語言函數功能簡單實例
  • Python3調用百度AI識別圖片中的文字功能示例【測試可用】
  • TensorFlow卷積神經網絡之使用訓練好的模型識別貓狗圖片

相關文章

  • 詳解Python做一個名片管理系統

    詳解Python做一個名片管理系統

    名片管理系統有兩個模塊組成:cards_main.py 和 cards_tools.py一個是主程序,另一個是封裝增刪改查函數的被調用程序 代碼如下 cards_main.py #! /usr/bin/
    2019-04-17
  • Python中numpy模塊常見用法demo實例小結

    Python中numpy模塊常見用法demo實例小結

    本文實例總結了Python中numpy模塊常見用法。分享給大家供大家參考,具體如下: import numpy as np arr = np.array([[1,2,3], [2,3,4]]) print(arr) p
    2019-04-17
  • python3實現釘釘消息推送的方法示例

    python3實現釘釘消息推送的方法示例

    背景 偶然發現一個python實現的按照農歷/陰歷推送消息提醒的程序,釘釘群消息推送。此處總結并對其可推送的消息做。 DingtalkNotice 環境:python3.7 安裝:
    2019-04-17
  • Python時間和字符串轉換操作實例分析

    Python時間和字符串轉換操作實例分析

    本文實例講述了Python時間和字符串轉換操作。分享給大家供大家參考,具體如下: 例子: #!/usr/bin/python # -*- coding: UTF-8 -*- import time # 格式化成
    2019-04-17
  • 詳解nodejs 開發企業微信第三方應用入門教程

    詳解nodejs 開發企業微信第三方應用入門教程

    最近公司要開發企業微信端的 Worktile,以前做的是企業微信內部應用,所以只適用于私有部署客戶,而對于公有云客戶就無法使用,所有就準備開發企業微信的第三
    2019-04-17
  • 使用Node.js實現一個多人游戲服務器引擎

    使用Node.js實現一個多人游戲服務器引擎

    摘要 聽說過文字冒險游戲嗎? 如果你的年齡足夠大的話(就像我一樣),那么你可能聽說過、甚至玩過“back in the day”。在本文中,我將向你展示編寫的整個
    2019-04-17
  • ASP.NET Core應用錯誤處理之三種呈現錯誤頁面的方式

    ASP.NET Core應用錯誤處理之三種呈現錯誤頁面的方式

    前言 由于ASP.NET Core應用是一個同時處理多個請求的服務器應用,所以在處理某個請求過程中拋出的異常并不會導致整個應用的終止。出于安全方面的考量,為了避
    2019-04-17
  • 微信小程序picker組件關于objectArray數據類型的綁定方法

    微信小程序picker組件關于objectArray數據類型的綁定方法

    一、前言: 我發現很多的同學都在抱怨說微信小程序的picker的mode = selector/mode = multiSelector 無法實現Object Array數據類型的綁定,其實很多人就想要和
    2019-04-17
  • react同構實踐之實現自己的同構模板

    react同構實踐之實現自己的同構模板

    一開始想學學服務端渲染,腦海中第一個浮現出來的就是next.js這種成熟的方案?戳艘粌商,有趣,優雅,但是封裝好了,原理不甚清楚,也感覺無法靈活嵌合到老
    2019-04-17
  • .net webapi接收xml格式數據的3種情況小結

    .net webapi接收xml格式數據的3種情況小結

    前言 ASP.NET Web API是​​一個框架,可以很容易構建達成了廣泛的HTTP服務客戶端,包括瀏覽器和移動設備。是構建RESTful應用程序的理想平臺的.NET
    2019-04-17

最新評論

北京pk10直播盛源