名片效果圖:
圖截得我自己也看不下去了。。。。。。。。。。
主文件
#! /usr/local/bin/python3
import cards_tools
while True:
#顯示功能菜單
cards_tools.show_menu()
action_str = input("請選擇希望執行的操作:")
print("你的選擇的操作是【%s】" %action_str)
#1,2,3針對名片的操作
if action_str in ["1","2","3"]:
#新增名片
if action_str == "1":
cards_tools.new_card()
#pass
#顯示全部
elif action_str == "2":
cards_tools.show_all()
#pass
#查詢名片
elif action_str == "3":
cards_tools.search_card()
#pass
#退出系統
elif action_str == "0":
#如果在開發程序時,不希望立刻編寫分支內部的代碼
#可以使用pass關鍵字,表示一個佔位符,能夠保證程序的代碼結構正確
#pass
print ("歡迎再次使用【名片管理系統】")
break
#其他內容輸入錯誤,需要提示用戶
else:
print("你輸入不正確,請重新輸入")
## 副文件
```
#記錄所有的名片字典
card_list = []
def show_menu():
"""顯示菜單"""
print("" 50)
print("歡迎使用【名片管理系統】")
print("")
print("1.增加名片")
print("2.顯示全部名片")
print("3.查找名片")
print("")
print("0.退出系統")
print("" 50)
def new_card():
"""新增名片"""
print("-" * 50)
print("新增名片")
#1.提示用戶輸入名片的詳細信息
name_str = input("請輸入姓名:")
phone_str = input("請輸入電話:")
qq_str = input("請輸入QQ:")
mail_str = input("請輸入郵箱:")
#2.使用用戶輸入的信息建立一個名片字典
card_dict = {"name": name_str,
"phone":phone_str,
"qq":qq_str,
"mail":mail_str}
#3.將名片字典添加列表中
card_list.append(card_dict)
#4.提示用戶名片添加成功
print("%s添加成功" % name_str)
#print(card_dict)
def search_card():
"""搜索名片"""
print("-" * 50)
print("搜索名片")
#1.提示用戶輸入要搜索的姓名
find_name = input("請輸入你要查找的名字:")
#2.遍歷列表查找姓名,如果沒有找到,提示用戶
for card_dict in card_list:
if card_dict["name"] == find_name:
print("姓名\t\t電話\t\tQQ\t\t郵箱")
print("="* 50)
print("%s\t\t%s\t\t%s\t\t%s" % (card_dict["name"],
card_dict["phone"],
card_dict["qq"],
card_dict["mail"]))
# 增加名片編輯、刪除功能
deal_card(card_dict)
break
else:
print("對不起,沒有找到%s" % find_name)
def show_all():
"""顯示全部"""
print("-" 50)
#判斷是否存在名片記錄,如果沒有,提示用戶並且返回
if len(card_list) == 0:
print("當前沒有任何名片記錄,請使用新增名片功能添加名片")
return
#1.打印表頭
for name in ["姓名", "電話", "QQ", "郵箱"]:
print(name,end="\t\t")
print("")
#2.打印分割線
print("=" 50)
#3.遍歷列表依次輸出字典信息
for card_dict in card_list:
print("%s\t\t%s\t\t%s\t\t%s" %(card_dict["name"],
card_dict["phone"],
card_dict["qq"],
card_dict["mail"]))
def deal_card(find_dict):
"""
修改名片信息
:param find_dict:
"""
#print(find_dict)
action_str = input("請輸入你的操作 1.修改 2.刪除 0.返回上級菜單")
if action_str == "1":
find_dict["name"] = input_card_info(find_dict["name"],"修改的名字:")
find_dict["phone"] = input_card_info(find_dict["phone"],"修改的電話:")
find_dict["qq"] = input_card_info(find_dict["qq"],"修改的qq:")
find_dict["mail"] = input_card_info(find_dict["mail"],"修改的郵箱:")
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 = input(tip_message)
#2.針對輸入內容進行判斷,如果有修改就返回修改值
if len(result_str) > 0:
return result_str
#3.如果沒有進行修改,則返回原字典裏的值
else:
return dict_value