python名片管理系統V2
阿新 • • 發佈:2018-06-09
列表 lis 進行 prompt 刪除 項目 如果 查找 一個
將名片管理系統進行改進:
主程序:
#!/usr/bin/env python # -*- coding: UTF-8 -*- # 項目三: # 1、要求:編寫一個名片管理系統,功能如下: # 用戶輸入相對應的指令,實現對名片進行增、刪、改、查的功能 # 2、分析 # 首先要定義python文件,一個是對程序進行操作的python文件(入口程序),另一個是作為工具的python文件,然後添加以下功能 # (1)增: # 為增的功能做一個函數,當用戶輸入指令為增時,提供用戶輸入信息,如:姓名、年齡、工號、工資等,保存用戶錄入的信息。 # 當有多個用戶錄入信息時,錄入的信息采用字典的方式保存每個用戶的詳細信息,再用列表來保存每個用戶的信息# (2)查: # 為查看的功能做一個函數,當用戶輸入查看功能時,將所有用戶的詳細信息都逐一展示出來。 # (3)修改和刪除: # 先做一個搜索的功能的函數,用戶只需要輸入人名、工號,如果存在於字典中,則顯示出被搜索到的人的所有詳細信息, # (3.1)添加刪除功能,用戶輸入刪除指令後,刪除被搜索到的人的所有信息 # (3.2)添加修改功能,用戶輸入修改指令後,對被搜索到的人的詳細信息逐一進行修改 # 3、代碼 # 入口程序 import item03_cards_tools print("*" * 50) print("歡迎進入名片管理系統") print("*" * 50) while True: print("本系統功能:【1】新增名片 【2】查看所有名片信息 【3】 搜索名片 [0] 退出") user = input("請選擇你的功能:") # 1,2,3針對名片的操作 if user in ["1", "2", "3"]: # 新增名片 if user == "1": item03_cards_tools.card_add() print(item03_cards_tools.cards_list)# 顯示所有 elif user == "2": item03_cards_tools.show_all() # 搜索名片 elif user == "3": item03_cards_tools.card_serach() elif user == "0": print("歡迎再次使用【名片管理系統】") break else: print("非法輸入")
功能程序:
#!/usr/bin/env python # -*- coding: UTF-8 -*- # 記錄所有的名片字典 cards_list = [] def card_add(): """ 新增名片 """ print("新增名片") user_name = input("請輸入你的姓名:") user_phone = input("請輸入你的電話:") user_qq = input("請輸入你的QQ:") user_email = input("請輸入你的郵箱:") # 用戶輸入的信息建立添加到名片字典 cards_dict = { "name": user_name, "phone": user_phone, "qq": user_qq, "email": user_email } # 將名片字典添加到列表中 cards_list.append(cards_dict) print("添加成功") def show_all(): """顯示所有名片""" print("-" * 50) print("查看所有名片") # 判斷是否存在名片記錄 if len(cards_list) > 0: # 打印表頭 for header in ["姓名","電話","QQ","email"]: print(header,end="\t\t") print("") print("=" * 50) # 遍歷名片列表依次輸出字典信息 for card_dict in cards_list: print("%s\t\t%s\t\t%s\t\t%s" %( card_dict["name"], card_dict["phone"], card_dict["qq"], card_dict["email"] )) else: print("還未添加名片,請按【1】新增名片") def card_serach(): """ 搜索名片 :return: """ print("搜索名片") print("-" * 50) user_find = input("請輸入要查找的信息(如需返回主菜單請按【0】):") if user_find == "0": return # 遍歷名片列表,查詢要搜索的姓名,電話,qq,email,如果沒有找到,要提示用戶 for card_dict in cards_list: if (card_dict["name"] == user_find or card_dict["phone"] == user_find or card_dict["qq"] == user_find or card_dict["eamil"] == user_find ): print("找到了") print(card_dict) # 針對找到的名片信息執行修改和刪除的操作 deal_card(card_dict) break else: print("沒有找到") def deal_card(find_dict): """處理查找到的名片 :param find_dict: 查找到的名片 """ user_input_info = input("請選擇功能:【1】修改 【2】刪除 ") if user_input_info == "1": find_dict["name"] = input_info_card("name","姓名:") find_dict["phone"] = input_info_card("phone","電話:") find_dict["qq"] = input_info_card("qq","QQ: ") find_dict["email"] = input_info_card("email","郵箱:") print("修改名片成功!") elif user_input_info == "2": cards_list.remove(find_dict) print("刪除成功") else: print("非法輸入") def input_info_card(dict_value,prompt): """輸入名片信息 :param dict_value: 字典中原有的值 :param prompt: 輸入的提示信息 :return: 如果用戶輸入了內容,就返回內容,否則返回字典中原有的值 """ user_change_info = input(prompt) if user_change_info != 0: return user_change_info else: print("您輸入的為空") return dict_value
python名片管理系統V2