日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > windows >内容正文

windows

宠物管理系统CLI版本(Python实现/内附完整代码)

發布時間:2023/12/20 windows 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 宠物管理系统CLI版本(Python实现/内附完整代码) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

這里寫目錄標題

  • 一、名詞解釋
    • 1.1 什么是CLI?
    • 1.2 什么是GUI?
  • 二、項目目的
  • 三、寵物信息管理系統
    • 3.1 項目背景
    • 3.2 需求分析
      • 3.2.1 系統描述
      • 3.2.2 功能結構
    • 3.3 主要功能描述
      • 3.3.1 主界面:
      • 3.3.2 新建寵物信息
      • 3.3.3 顯示全部寵物信息
      • 3.3.4 查詢寵物信息
      • 3.3.5 修改寵物信息
      • 3.3.6 刪除寵物信息
    • 3.4 不足與擴展
  • 四、項目制作
    • 4.1 框架搭建
    • 4.2 新增寵物信息
    • 4.3 顯示全部寵物信息
    • 4.4 查詢寵物信息
    • 4.5 修改寵物信息
    • 4.6 刪除寵物信息
    • 4.7 發布與運行
  • 五、完整代碼實現
  • 六、運行實例

一、名詞解釋

1.1 什么是CLI?

命令行界面(英語:command-line interface,縮寫:CLI)是在圖形用戶界面得到普及之前使用最為廣泛的用戶界面,它通常不支持鼠標,用戶通過鍵盤輸入指令,計算機接收到指令后,予以執行。也有人稱之為字符用戶界面CUI。

1.2 什么是GUI?

圖形用戶界面(Graphical User Interface,簡稱 GUI,又稱圖形用戶接口)是指采用圖形方式顯示的計算機操作用戶界面。

二、項目目的

  • 應用Python基礎知識,理解命令行交互方式,學習軟件設計與分析方法
  • 通過函數定義與調用,掌握代碼提取與復用的概念
  • 綜合運用基本數據結構和字符串處理等技能
  • 了解需求提出、需求拆解、框架梳理、代碼調試的思路與流程

三、寵物信息管理系統

Pet Information Management System,簡稱 PIMS。(自己定義的)

3.1 項目背景

隨著消費能力的提升,人口結構的變化等原因,寵物市場規模在逐年增加,越來越多的寵物店、寵物醫院發展了起來。為了提升對于寵物信息的管理效率,提高用戶滿意度,寵物信息管理系統的需求也會越來越多。主要功能包括:寵物信息錄入、查詢、修改;寵物服務記錄的增加與查詢,寵物服務的報價與消費記錄查詢等。

3.2 需求分析

3.2.1 系統描述

系統1.0版本,主要功能為寵物基本信息的錄入編輯刪除查詢功能。

核心功能包括:新增寵物信息、顯示全部寵物信息、查詢寵物信息、修改或刪除寵物信息,退出系統。

3.2.2 功能結構

3.3 主要功能描述

3.3.1 主界面:

******寵物信息管理系統 V1.0****** 1. 新增寵物信息 2. 顯示全部信息 3. 搜索寵物信息 0. 退出系統 ****************************** 請選擇希望執行的操作:

根據用戶輸入的功能序號,顯示對應操作的引導信息或結果
例如:如果用戶輸入數字0,則顯示歡送信息并退出系統。

請選擇希望執行的操作:0 您選擇的操作是:0 歡迎再次使用【寵物信息管理系統】

3.3.2 新建寵物信息

用戶如果錄入數字1,則提示用戶輸入寵物的昵稱、年齡、性別和體重。
并在輸入完成后,提示輸入成功信息。

您選擇的操作是:1 ==========新增寵物信息========== 請輸入昵稱:咯咯 請輸入年齡:3 請輸入性別(雄性/雌性):雄性 請輸入體重(kg):15 【添加 咯咯 成功!】

3.3.3 顯示全部寵物信息

用戶如果錄入數字2,則顯示現有寵物信息列表。

請選擇希望執行的操作:2 您選擇的操作是:2 =========顯示所有寵物信息======== 昵稱 年齡 性別 體重 ------------------------------- 咯咯 3 雄性 15

如沒有任何寵物信息,則顯示提示信息,如下:

請選擇希望執行的操作:2 您選擇的操作是:2 =========顯示所有寵物信息========= 【當前沒有任何的寵物信息記錄,請使用新增功能添加寵物信息!】

3.3.4 查詢寵物信息

用戶如果錄入數字3,則提示用戶輸入要搜索的寵物昵稱,并根據昵稱進行搜索。
搜索到對應信息,以列表形式顯示:

請選擇希望執行的操作:3 您選擇的操作是:3 ==========搜索寵物信息========== 請輸入要搜索的昵稱:咯咯 昵稱 年齡 性別 體重 ------------------------------ 咯咯 3 雄性 15 請選擇要執行的操作 [1] 修改 [2] 刪除 [0] 返回上級菜單

如果沒有搜索到,顯示提示消息:

==========搜索寵物信息========== 請輸入要搜索的昵稱:妞妞 抱歉,沒有找到 妞妞

3.3.5 修改寵物信息

在搜索結果顯示后,根據提示輸入數字1,進入修改寵物信息的環節,
如果沒有錄入任何信息,直接回車,則默認保留原有信息;錄入信息,則覆蓋原有信息。
修改成功后,顯示修改成功消息提示。

請選擇要執行的操作 [1] 修改 [2] 刪除 [0] 返回上級菜單1 姓名: 年齡: 性別(雄性/雌性): 體重(kg):15.2 【修改寵物信息成功!】

3.3.6 刪除寵物信息

在搜索結果顯示后,根據提示輸入數字2,刪除對應的寵物信息,并顯示刪除成功的消息提示。

請選擇要執行的操作 [1] 修改 [2] 刪除 [0] 返回上級菜單2 【刪除寵物信息成功!】

3.4 不足與擴展

本系統主要側重核心流程搭建,功能不多,且未作輸入校驗與異常處理。
未來可以補充的部分有:

  • 輸入的校驗與異常處理

  • 更多維度信息的管理,更多功能

  • 數據持久化:保存到文件或者數據庫中

  • 用戶交互升級為圖形界面版

  • 四、項目制作

    4.1 框架搭建

    自頂向下:從框架入手,逐一拆分為具體的業務邏輯,最后細化功能代碼。
    函數注釋:寫在函數定義下方的注釋。可以通過help函數顯示。
    TODO:Pycharm工具,可以記錄、定位需要完成的代碼功能與位置
    數據存儲結構
    pets_info 是一個列表,用來存儲寵物信息;每個寵物的信息使用字典格式來存儲。
    每個函數都要對這個列表進行操作,所以適合做全局變量。

    4.2 新增寵物信息

    • 提示用戶輸入寵物信息
    • 將輸入的信息,保存為一個字典
    • 將寵物信息的字典追加到列表中
    • 提示用戶添加成功

    4.3 顯示全部寵物信息

    • 判斷寵物信息列表中是否為空
    • 打印表頭
    • 逐一打印列表中的每個寵物信息

    4.4 查詢寵物信息

    • 引導用戶輸入要搜索的寵物昵稱
    • 在寵物信息列表中查找對應昵稱的寵物信息
    • 如果找到了,就打印輸出列表
    • 如果沒找到,就打印輸出提示信息
    • 提示用戶對于找到的信息,進行操作選擇

    4.5 修改寵物信息

    • 提示用戶輸入要修改的信息
    • 將新錄入的信息,替換原有寵物信息
    • 如果輸入空格就默認保留原有寵物信息

    4.6 刪除寵物信息

    • 將指定寵物信息從列表中移除

    4.7 發布與運行

    • 檢查并補充文檔和函數注釋
    • 運行結束時停止在命令提示符界面:添加input語句

    五、完整代碼實現

    主程序:

    """ 這是寵物信息管理系統的主程序 """ from pet_tools import *#1.顯示系統菜單 #2.根據用戶輸入,調用不同的功能(函數) #3.不斷的執行上述操作 (循環)def main():while True:# 1.顯示系統菜單 #在這里演示TODO的作用,并為后面的pass位置也加上#TODO("liuxu")show_menu() #TODO后面可以寫上小括號,包含(姓名/郵箱)標注責任人#2.根據用戶輸入,調用不同的功能(函數)action = input("請選擇希望執行的操作:")if action in ["1","2","3"]:#if action == 1 or action ==2 or action == 3:if action == "1": #寫完循環后,使用debug進行代碼調試# 新建寵物信息#print("新建寵物信息")new_pet() #搭建框架的時候,就把函數名確定下來#pass #并在pet_tools中定義出來,需要寫出函數注釋elif action == "2":# 顯示全部寵物信息#print("顯示全部寵物信息")show_all()#passelif action == "3":# 查詢寵物信息#print("查詢寵物信息")search_pet()#passelif action == "0":# 退出系統# print("退出系統")print("歡迎再次使用【寵物信息管理系統】")input("按下回車,關閉窗口")breakelse:print("【您輸入的不正確,請重新選擇】")#3.不斷的執行上述操作 (循環)if __name__ == '__main__':main()

    功能程序

    """ 這是寵物信息管理系統的工具程序 """pets_info = [] #用來保存寵物信息 #pets_info = [{'nickname':'咯咯','age':3,'sex':'雄性','weight':15}] header = ["昵稱","年齡","性別","體重"]''' ******寵物信息管理系統 V1.0******1. 新增寵物信息 2. 顯示全部信息 3. 搜索寵物信息0. 退出系統 ****************************** ''' def show_menu():'''顯示主菜單'''print("寵物信息管理系統 V1.0".center(25,'*'))print()print("1. 新增寵物信息")print("2. 顯示全部信息")print("3. 搜索寵物信息")print()print("0. 退出系統")print("*"*30)def new_pet():'''新建寵物信息'''print("新建寵物信息".center(24,"="))'''請輸入昵稱:咯咯請輸入年齡:3請輸入性別(雄性/雌性):雄性請輸入體重(kg):15'''#1.提示用戶輸入寵物信息nickname = input("請輸入昵稱:")age = input("請輸入年齡:")sex = input("請輸入性別(雄性/雌性):")weight = input("請輸入體重(kg):")# 2.將輸入的信息,保存為一個字典# 3.將寵物信息的字典追加到列表中# 4.提示用戶添加成功#2.將輸入的信息,保存為一個字典pet = {"nickname":nickname,"age":age,"sex":sex,"weight":weight}#3.將寵物信息的字典追加到列表中pets_info.append(pet)#print(pets_info)#4.提示用戶添加成功print(f"【添加 {nickname} 信息成功】")def show_all():'''顯示全部寵物信息'''print("顯示全部寵物信息".center(24,"="))# 判斷寵物信息列表中是否為空# 打印表頭# 逐一打印列表中的每個寵物信息#判斷寵物信息列表中是否為空if len(pets_info) == 0:print("【當前沒有任何的寵物信息記錄,請使用新增功能添加寵物信息!】")returnfor title in header:print(title,end="\t\t")print()print("-"*30)#逐一打印列表中的每個寵物信息for pet in pets_info:#print(f"{pet['nickname']}\t\t{pet['age']}\t\t{pet['sex']}\t\t{pet['weight']}")for value in pet.values():print(f"{value}",end="\t\t")print()def deal_pet(find_pet):"""處理查找到的寵物信息:param find_pet: 查找到的寵物信息"""action = input("請選擇要執行的操作:[1] 修改 [2] 刪除 [0] 返回上級菜單")if action == "1":#執行修改操作# find_pet["nickname"] = input("昵稱:")# find_pet["age"] = input("年齡:")# find_pet["sex"] = input("性別(雄性/雌性):")# find_pet["weight"] = input("體重(kg):")find_pet["nickname"] = input_pet_info(find_pet["nickname"],"昵稱:[回車不修改]")find_pet["age"] = input_pet_info(find_pet["age"],"年齡:[回車不修改]")find_pet["sex"] = input_pet_info(find_pet["sex"],"性別(雄性/雌性):[回車不修改]")find_pet["weight"] = input_pet_info(find_pet["weight"],"體重(kg):[回車不修改]")print("【修改寵物信息成功!】")elif action == "2":#執行刪除操作pets_info.remove(find_pet)print("【刪除寵物信息成功!】")def input_pet_info(pet_value,tip):"""輸入寵物信息信息:param pet_value: 字典中原有的值:param tip: 輸入的提示文字:return: 如果用戶輸入了內容,就返回內容,否則返回字典中原有的值"""#1.提示用戶輸入信息result = input(tip)#2.用戶輸入的內容不為空,返回輸入的值if len(result)>0:return result#3.如果用戶輸入的為空,返回寵物信息原有的值else:return pet_valuedef search_pet():'''查詢寵物信息'''print("查詢寵物信息".center(24,"="))#1.引導用戶輸入要搜索的寵物昵稱find_name = input("請輸入要搜索的昵稱:")#2.在寵物信息列表中查找對應昵稱的寵物信息for pet in pets_info:if pet["nickname"] == find_name:# print("昵稱\t\t年齡\t\t性別\t\t體重")for title in header:print(title, end="\t\t")print()print("-" * 30)#print(f"{pet['nickname']}\t\t{pet['age']}\t\t{pet['sex']}\t\t{pet['weight']}")for value in pet.values():print(f"{value}", end="\t\t")print()#提示用戶對于找到的信息,進行操作選擇deal_pet(pet)breakelse:print(f"【抱歉,沒有找到 {find_name} 】")#3.如果找到了,就打印輸出列表#4.如果沒找到,就打印輸出提示信息

    測試文件程序:

    #test_doc.py import pet_main import pet_tools help(pet_main) #help(pet_tools) NAMEpet_main - 這是寵物信息管理系統的主程序FUNCTIONSmain()DATAheader = ['昵稱', '年齡', '性別', '體重']pets_info = []FILEe:\itsishu\python_workspace\pims\pet_main.py

    六、運行實例

    添加

    修改

    顯示

    退出

    總結

    以上是生活随笔為你收集整理的宠物管理系统CLI版本(Python实现/内附完整代码)的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。