本文實例為大家分享了Python實現名片管理系統的具體代碼,供大家參考,具體內容如下
目標
綜合應用已經學習過的知識點:
變量 流程控制 函數 模塊系統需求
1. 程序啟動,顯示名片管理系統歡迎界面,并顯示功能菜單
2 用戶用數字選擇不同的功能
3. 根據功能選擇,執行不同的功能
4. 用戶名片需要記錄用戶的 姓名、電話、QQ、郵件
5. 如果查詢到指定的名片,用戶可以選擇 修改 或者 刪除 名片
文件準備
新建 cards_main.py 保存主程序功能代碼
新建 cards_tools.py 保存所有名片功能函數
代碼
cards_main.py :
# encoding:utf-8_date_ = "2020/2/8 12:17"import cards_toolswhile True: # 顯示功能菜單 cards_tools.caidan() xuanze=input("請選擇希望操作的功能:") print("您選擇的操作是【%s】" % xuanze) # 如果用戶輸入的是1,2,3則是針對名片的操作 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則退出系統 elif xuanze=="0": print("正在退出,期待您再次使用【名片管理系統】!") break # 如果用戶輸入別的內容則提示輸入有誤 else: print("您輸入的不正確,請重新選擇?。?!")
cards_tools.py :
# encoding:utf-8_date_ = "2020/2/8 12:32"# 記錄所有的名片字典card_list = []def caidan(): """顯示菜單""" print("*"*39) print("歡迎使用【名片管理系統】v1.0") print("") print("1.新增名片") print("2.顯示全部") print("3.查詢名片") print("") print("0.退出系統") print("*" * 39)def zengjia(): """新增名片""" print("-" * 39) print("新增名片") # 1.提示用戶輸入名片的詳細信息 name = input("請輸入姓名:") phone = input("請輸入電話號碼:") qq = input("請輸入QQ號碼:") email = input("請輸入郵箱地址:") # 2.使用用戶輸入的信息建立一個名片字典 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("當前沒有任何名片記錄,請使用新增名片功能添加新名片!") # return可以返回一個函數的執行結果 # 下方的代碼不會被執行 # 如果return后面沒有任何的內容,表示會返回到調用函數的位置 # 并且不返回任何的結果 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("請輸入要搜索的姓名:") # 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["郵箱"])) # 針對找到的名片記錄執行修改和刪除的操作 deal_card(i) break else: print("抱歉,沒有找到%s,請重新輸入!"%find_name)def deal_card(find_dict): """ 處理查找到的名片 :param find_dict:查找到的名片 """ # print(find_dict) action_str = input("請選擇要執行的操作1.修改 2.刪除 0.返回上級菜單:") if action_str=="1": find_dict["姓名"]=input_card_info(find_dict["姓名"],"請輸入要修改的姓名:") find_dict["電話"] = input_card_info(find_dict["電話"],"請輸入要修改的電話:") find_dict["QQ"] = input_card_info(find_dict["QQ"],"請輸入要修改的QQ:") find_dict["郵箱"] = input_card_info(find_dict["郵箱"],"請輸入要修改的郵箱:") 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: 如果用戶輸入了內容,就返回內容,否則返回字典中原有值 """ # 1.提示用戶輸入內容 result_str = input(tip_message) # 2.針對用戶輸入進行判斷,如果用戶輸入了內容,直接返回結果 if len(result_str)>0: return result_str # 3.如果用戶沒有輸入內容,返回“字典中的原有值” else: return dict_value
新聞熱點
疑難解答