您好,登錄后才能下訂單哦!
本文實例講述了Python綜合應用名片管理系統。分享給大家供大家參考,具體如下:
綜合應用已經學習過的知識點:
************************************************** 歡迎使用【名片管理系統】V1.0 1. 新建名片 2. 顯示全部 3. 查詢名片 0. 退出系統 **************************************************
目標
while True: # TODO(小明) 顯示系統菜單 action = input("請選擇操作功能:") print("您選擇的操作是:%s" % action) # 根據用戶輸入決定后續的操作 if action in ["1", "2", "3"]: pass elif action == "0": print("歡迎再次使用【名片管理系統】") break else: print("輸入錯誤,請重新輸入")
字符串判斷
if action in ["1", "2", "3"]:
if action == "1" or action == "2" or action == "3":
pass
無限循環
TODO 注釋
# TODO(作者/郵件) 顯示系統菜單
def show_menu(): """顯示菜單 """ pass def new_card(): """新建名片 """ print("-" * 50) print("功能:新建名片") def show_all(): """顯示全部 """ print("-" * 50) print("功能:顯示全部") def search_card(): """搜索名片 """ print("-" * 50) print("功能:搜索名片")
import cards_tools
修改 while 循環的代碼如下:
import cards_tools while True: cards_tools.show_menu() action = input("請選擇操作功能:") print("您選擇的操作是:%s" % action) # 根據用戶輸入決定后續的操作 if action in ["1", "2", "3"]: if action == "1": cards_tools.new_card() elif action == "2": cards_tools.show_all() elif action == "3": cards_tools.search_card() elif action == "0": print("歡迎再次使用【名片管理系統】") break else: print("輸入錯誤,請重新輸入:")
至此:cards_main 中的所有代碼全部開發完畢!
def show_menu(): """顯示菜單 """ print("*" * 50) print("歡迎使用【菜單管理系統】V1.0") print("") print("1. 新建名片") print("2. 顯示全部") print("3. 查詢名片") print("") print("0. 退出系統") print("*" * 50)
程序就是用來處理數據的,而變量就是用來存儲數據的
使用 字典 記錄 每一張名片 的詳細信息
使用 列表 統一記錄所有的 名片字典
定義名片列表變量
在 cards_tools 文件的頂部增加一個 列表變量
# 所有名片記錄的列表 card_list = []
注意
def new_card(): """新建名片 """ print("-" * 50) print("功能:新建名片") # 1. 提示用戶輸入名片信息 name = input("請輸入姓名:") phone = input("請輸入電話:") qq = input("請輸入 QQ 號碼:") email = input("請輸入郵箱:") # 2. 將用戶信息保存到一個字典 card_dict = {"name": name, "phone": phone, "qq": qq, "email": email} # 3. 將用戶字典添加到名片列表 card_list.append(card_dict) print(card_list) # 4. 提示添加成功信息 print("成功添加 %s 的名片" % card_dict["name"])
技巧:在 PyCharm 中,可以使用 SHIFT + F6 統一修改變量名
def show_all(): """顯示全部 """ print("-" * 50) print("功能:顯示全部") for card_dict in card_list: print(card_dict)
def show_all(): """顯示全部 """ print("-" * 50) print("功能:顯示全部") # 打印表頭 for name in ["姓名", "電話", "QQ", "郵箱"]: print(name, end="\t\t") print("") # 打印分隔線 print("=" * 50) 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["email"]))
def show_all(): """顯示全部 """ print("-" * 50) print("功能:顯示全部") # 1. 判斷是否有名片記錄 if len(card_list) == 0: print("提示:沒有任何名片記錄") return
注意
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電話\t\t\tQQ\t\t\t郵箱") print("-" * 40) print("%s\t\t\t%s\t\t\t%s\t\t\t%s" % ( card_dict["name"], card_dict["phone"], card_dict["qq"], card_dict["email"])) print("-" * 40) # TODO(小明) 針對找到的字典進行后續操作:修改/刪除 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 == "1": print("修改") elif action == "2": print("刪除")
elif action == "2": card_list.remove(find_dict) print("刪除成功")
由于找到的字典記錄已經在列表中保存
if action == "1": find_dict["name"] = input("請輸入姓名:") find_dict["phone"] = input("請輸入電話:") find_dict["qq"] = input("請輸入QQ:") find_dict["email"] = input("請輸入郵件:") print("%s 的名片修改成功" % find_dict["name"])
修改名片細化
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
使用 Shebang 的步驟
$ which python3
修改要運行的 主 python 文件,在第一行增加以下內容
#! /usr/bin/python3
修改 主 python 文件 的文件權限,增加執行權限
$ chmod +x cards_main.py
在需要時執行程序即可
./cards_main.py
關于Python相關內容感興趣的讀者可查看本站專題:《Python函數使用技巧總結》、《Python面向對象程序設計入門與進階教程》、《Python數據結構與算法教程》、《Python字符串操作技巧匯總》、《Python編碼操作技巧總結》及《Python入門與進階經典教程》
希望本文所述對大家Python程序設計有所幫助。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。