先建立cards_main的檔案
import cards_tools
#無限迴圈,由使用者主動決定什麼時候退出
while true:
#todo注釋,用於標記需要去做的工作
cards_tools.show_menu()
action_str = raw_input("請選擇希望執行的操作: ")
print("你選擇的操作是 %s" % action_str)
#1,2,3針對名片的操作
if action_str in ["1","2","3"]:
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("歡迎再次使用【名片管理系統】:")
break
#如果在開發程式時,不希望立刻編寫分支內部的**
#可以使用pass關鍵字,表示乙個佔位符,能夠保證程式的**結構正確
#執行程式時,pass關鍵字不會執行任何操作
else:
print("輸入錯誤,請重新輸入:")
再建立乙個cards_tools的檔案
card_list =
def show_menu():
"""顯示選單"""
print '*' * 50
print '歡迎使用【名片管理系統】'
print ''
print '1.新增名片'
print '2.顯示全部'
print '3.搜尋名片'
print '0.退出系統'
print '*' * 50
def new_card():
"""新增名片"""
print '-' * 50
print '新增名片'
# 1.提示使用者輸入名片的詳細資訊
name_str = raw_input('請輸入姓名:')
phone_str = raw_input('請輸入**:')
qq_str = raw_input('請輸入qq:')
email_str = raw_input('請輸入郵箱:')
# 2.使用使用者輸入的資訊建立乙個名片字典
card_dict =
# 3.將名片字典新增到列表中
card_list.append(card_dict) # 把乙個字典追加到乙個列表中
print card_list
# 4.提示使用者新增成功
print '新增%s 的名片成功' % name_str
def show_all():
"""顯示所有名片"""
print '-' * 50
print '顯示所有名片'
# 判斷是否存在名片記錄,如果沒有,提示使用者並且返回
if len(card_lis程式設計客棧t) == 0:
print '當前沒有任何的名片記錄,請使用新增功能新增名片'
# return 可以返回乙個函式的執行結果
# 下方的**不會被執行
# 如果return後面沒有任何的內容,表示會返回到呼叫函式的位置
# 並且不返回任何結果
return
# 列印表頭
for name in ["姓名", "**", "qq", "郵箱"]:
print name,
print ''
# 列印分隔線
print '=' * 50
# 遍歷名片列表依次輸出字典資訊
for card_dict in card_list:
# print card_dict
print '%s\t\t%s\t\t%s\t\t%s' % (card_dict['name_str'],
card_dict['phone_str'],
card_dict['qq_str'],
card_dict['email_str'])
def search_card():
"""搜尋名片"""
print '-' * 50
print '搜尋名片'
# 1.提示使用者輸入要搜尋的姓名
find_name = raw_input('請輸入要搜尋的姓名:')
# 2.遍歷名片列表,查詢要搜尋的姓名,如果沒有找到,需要提示使用者
for card_dict in card_list:
if card_dict['name_str'] == find_name:
print '姓名 ** qq 郵箱'
print '=' * 50
print '%s %s %s %s' % (card_dict['name_str'],
card_dict['yvrvbaqcqaphone_str'],
card_dict['qq_str'],
card_dict['email_str'])
# todo 針對找到的名片記錄執行修改和刪除的操作
# 在我們的日常編寫程式中,如果乙個函式的**太多,閱讀和編寫都是一件困難的事情,而在開發中,可以針對乙個具體獨立的功能來封裝乙個函式,由這個函式來www.cppcns.com處理具體的操作,這樣就能保證每個函式中的**清晰明了,功能明確
deal_card(card_dict)
break
else:
print '抱歉,沒有找到%s' % find_name
def deal程式設計客棧_card(find_dict):
print find_dict
action_str = raw_input('請選擇要執行的操作 '
'[1] 修改 [2] 刪除 :')
# 替換已經存在的鍵值對
if action_str == '1':
find_dict['name_str'] = input_card_info(find_dict['name_str'], '姓名:')
find_dict['phone_str'] = input_card_info(find_dict['phone_str'], '**:')
find_dict['qq_str'] = input_card_info(find_dict['qq_str'], 'qq:')
find_dict['email_str'] = input_card_info(find_dict['email_str'], '郵箱:')
print '修改名片成功!!!'
elif action_str == '2':
card_list.remove(find_dict)
print '刪除名片成功!!!'
def input_card_info(dict_value, tip_message):
""":param dict_value:字典中原有的值
:param tip_message:輸入的提示文字
:return:如果使用者輸入了內容,就返回內容,負責返回字典中原有的值
"""# 1.提示使用者輸入內容
result_str = raw_input(tip_message)
# 2.針對使用者的輸入進行判斷,如果使用者輸入了內容,直接返程式設計客棧回結果
if len(result_str) > 0:
return result_str
# 3.如果使用者沒有輸入內容,返回『字典中原有的值'
else:
return dict_value
效果圖:
本文標題: python版名片管理系統
本文位址:
python 名片管理系統
框架搭建 新增名片 顯示所有名片 查詢名片 查詢成功後修改 刪除名片 讓 python 程式能夠直接執行 main.py 一般寫業務邏輯 from tool import while true show menu operation int input 請輸入您的操作 print 您選擇的操作是 s...
python名片管理系統
cards main.py import cards tools import os import time while true time.sleep 1 os.system cls cards tools.show menu action str input 您希望執行的操作 print 您選擇...
python 名片管理系統
根據列表,元組和字典的特性進行編寫。card list while true print 名片管理系統 print print 新增名片1 print 修改名片2 print 刪除名片3 print 檢視名片4 print 檢視所有名片5 print 退出系統6 print command int ...