python -- 名片管理系統
阿新 • • 發佈:2018-11-09
準備兩個python 檔案,一個cards_tool 裝函式,一個cards_main執行程式
cards_tool:
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time : 2018/10/28 14:32
# @Author : penny
# @Site :
# @File : cards_def.py
# @Software: PyCharm
card_list=[]
# 顯示主選單
def show_main_menu():
'''
顯示主選單
:return:
'''
print("*"*50)
print("歡迎使用【名片管理系統】V1.8")
print("1.新建名片\n2.顯示全部\n3.查詢名片\n\n0.退出系統")
print("*"*50)
# 新建名片
def creat_cards():
'''
新建名片
:return:
'''
# 提示使用者輸入資訊
print("功能:新增名片")
name_str = input("姓名:")
phone_str = input("電話號碼:")
QQ_str = input("QQ:" )
email_str = input("郵箱:")
# 將使用者輸入的資訊放進字典裡
cards_dict = {
"name":name_str,
"phone":phone_str,
"QQ":QQ_str,
"email":email_str
}
# 將字典加入到列表中去
card_list.append(cards_dict)
print("新增%s的名片已經成功!" %cards_dict["name"])
# 顯示全部
def show_all_cards ():
'''
顯示所有名片
:return:
'''
print("功能:顯示名片")
# 如果系統內沒有名片,提示使用者新增名片
if len(card_list)==0:
print("目前沒有名片,請新增名片!")
return
# 如果有名片,就顯示全部
else:
show_find_dict()
# 查詢名片
def find_cards():
print("功能:查詢名片")
name = input("請輸入您要查詢的人的姓名:")
# 遍歷列表,如果匹配到了有這個姓名,繼續
for cards_dict in card_list:
if cards_dict["name"] == name:
show_find_dict()
# 繼續修改、刪除、返回上級
ope_find_cards(cards_dict)
# 如果沒有匹配到這個姓名, 提示錯誤,並返回
break
else:
print("沒有查詢到您要找的人!")
def ope_find_cards(cards_dict):
'''
對找到的字典進行操作
:param cards_dict:
:return:
'''
ope_str = input("請選擇您要進行的操作:[1]修改\t[2]刪除\t[0]返回上一級\n請輸入:")
# 修改1
if ope_str=="1":
cards_dict["name"] = input_cards_info(cards_dict["name"],"姓名:")
cards_dict["phone"] = input_cards_info(cards_dict["phone"],"電話:")
cards_dict["QQ"] =input_cards_info(cards_dict["QQ"],"QQ:")
cards_dict["email"] = input_cards_info(cards_dict["email"],"郵箱:")
print("修改成功!")
# 刪除2
elif ope_str=="2":
# 找到這個列表,刪除列表中的字典
card_list.remove(cards_dict)
print("刪除成功!")
# 返回上級0
else:
find_cards()
def input_cards_info(dict_value,tip_massage):
'''
對查詢到的人進行修改刪除
:param dict_value: 原有字典的值
:param tip_massage: 輸入的值
:return:
'''
result_str = input(tip_massage)
# 如果輸入的內容長度大於0 ,則返回 輸入的內容
if len(result_str)>0:
return result_str
# 如果沒有輸入內容,則返回原來的字典內的值
else:
return dict_value
def show_find_dict():
'''
顯示查詢到的人
:return:
'''
# 輸出表頭
for i in ["姓名", '電話', 'QQ', '郵箱']:
print(i, end="\t\t\t")
print("")
print("-" * 50)
# 遍歷列表中的字典中的每個值輸出
for cards_dict in card_list:
print("%s\t\t%s\t\t%s\t\t%s" % (cards_dict["name"],
cards_dict["phone"],
cards_dict["QQ"],
cards_dict["email"]))
cards_main:
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time : 2018/10/26 18:52
# @Author : penny
# @Site :
# @File : cards_main.py
# @Software: PyCharm
import card_tools
# 無限迴圈,由使用者主動決定什麼時候退出迴圈
while True:
card_tools.show_menu()
action_str = input("請選擇操作功能:")
print("您選擇的功能是[%s]" % action_str)
# 1,2,3針對名片進行操作
if action_str in ["1","2","3"]:
# 1.新建名片
if action_str=="1":
card_tools.creat_cards()
# 2.顯示全部
if action_str=="2":
card_tools.show_cards()
# 3.查詢名片
if action_str=="3":
card_tools.find_cards()
# 0 退出系統
elif action_str=="0":
print("謝謝使用,您已退出系統!")
break
# 其他內容輸入錯誤,需要提示重新弄輸入
else:
print("輸入錯誤,請重新選擇!")