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

宠物管理系统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. 退出系统 ****************************** 请选择希望执行的操作: 1234567

根据用户输入的功能序号,显示对应操作的引导信息或结果
例如:如果用户输入数字0,则显示欢送信息并退出系统。

请选择希望执行的操作:0 您选择的操作是:0 欢迎再次使用【宠物信息管理系统】 123 3.3.2 新建宠物信息

用户如果录入数字1,则提示用户输入宠物的昵称、年龄、性别和体重。
并在输入完成后,提示输入成功信息。

您选择的操作是:1 ==========新增宠物信息========== 请输入昵称:咯咯 请输入年龄:3 请输入性别(雄性/雌性):雄性 请输入体重(kg):15 【添加 咯咯 成功!】 1234567 3.3.3 显示全部宠物信息

用户如果录入数字2,则显示现有宠物信息列表。

请选择希望执行的操作:2 您选择的操作是:2 =========显示所有宠物信息======== 昵称 年龄 性别 体重 ------------------------------- 咯咯 3 雄性 15 123456

如没有任何宠物信息,则显示提示信息,如下:

请选择希望执行的操作:2 您选择的操作是:2 =========显示所有宠物信息========= 【当前没有任何的宠物信息记录,请使用新增功能添加宠物信息!】 1234 3.3.4 查询宠物信息

用户如果录入数字3,则提示用户输入要搜索的宠物昵称,并根据昵称进行搜索。
搜索到对应信息,以列表形式显示:

请选择希望执行的操作:3 您选择的操作是:3 ==========搜索宠物信息========== 请输入要搜索的昵称:咯咯 昵称 年龄 性别 体重 ------------------------------ 咯咯 3 雄性 15 请选择要执行的操作 [1] 修改 [2] 删除 [0] 返回上级菜单 12345678

如果没有搜索到,显示提示消息:

==========搜索宠物信息========== 请输入要搜索的昵称:妞妞 抱歉,没有找到 妞妞 123 3.3.5 修改宠物信息

在搜索结果显示后,根据提示输入数字1,进入修改宠物信息的环节,
如果没有录入任何信息,直接回车,则默认保留原有信息;录入信息,则覆盖原有信息。
修改成功后,显示修改成功消息提示。

请选择要执行的操作 [1] 修改 [2] 删除 [0] 返回上级菜单1 姓名: 年龄: 性别(雄性/雌性): 体重(kg):15.2 【修改宠物信息成功!】 123456 3.3.6 删除宠物信息

在搜索结果显示后,根据提示输入数字2,删除对应的宠物信息,并显示删除成功的消息提示。

请选择要执行的操作 [1] 修改 [2] 删除 [0] 返回上级菜单2 【删除宠物信息成功!】 12

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()

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849

功能程序

""" 这是宠物信息管理系统的工具程序 """ 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="tt")print()print("-"*30)#逐一打印列表中的每个宠物信息for pet in pets_info:#print(f"{pet['nickname']}tt{pet['age']}tt{pet['sex']}tt{pet['weight']}")for value in pet.values():print(f"{value}",end="tt")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_value def search_pet():'''查询宠物信息'''print("查询宠物信息".center(24,"="))#1.引导用户输入要搜索的宠物昵称find_name = input("请输入要搜索的昵称:")#2.在宠物信息列表中查找对应昵称的宠物信息for pet in pets_info:if pet["nickname"] == find_name:# print("昵称tt年龄tt性别tt体重")for title in header:print(title, end="tt")print()print("-" * 30)#print(f"{pet['nickname']}tt{pet['age']}tt{pet['sex']}tt{pet['weight']}")for value in pet.values():print(f"{value}", end="tt")print()#提示用户对于找到的信息,进行操作选择deal_pet(pet)breakelse:print(f"【抱歉,没有找到 {find_name} 】")#3.如果找到了,就打印输出列表#4.如果没找到,就打印输出提示信息

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165

测试文件程序:

#test_doc.py import pet_main import pet_tools help(pet_main) #help(pet_tools) 12345

NAME pet_main - 这是宠物信息管理系统的主程序 FUNCTIONS main() DATA header = ['昵称', '年龄', '性别', '体重'] pets_info = [] FILE e:itsishupython_workspacepimspet_main.py 123456789101112

六、运行实例

添加
在这里插入图片描述
修改
在这里插入图片描述
显示
在这里插入图片描述
退出
在这里插入图片描述

相关知识

宠物管理系统CLI版本(Python实现/内附完整代码)
python计算机毕设【附源码】宠物寄养系统(django+mysql+论文)
Python宠物美容项目预约服务管理系统设计与实现
django宠物咖啡店管理系统(程序+开题报告)
python计算机毕设【附源码】Web的宠物领养管理系统的设计与实现(django+mysql+论文)
django宠物救助系统设计和实现(程序+开题报告)
[附开题]flask框架宠物托管系统设计与实现is203(源码+论文+python)
(开题)flask框架宠物咖啡店管理系统(程序+论文+python)
【附源码】教你用Python代码制作一只你的专属宠物,桌面体验感升级100%!!
python毕设瑞奇宠物店宠物寄存管理系统的设计与实现x0ax1(django+mysql5.7+文档)

网址: 宠物管理系统CLI版本(Python实现/内附完整代码) https://m.mcbbbk.com/newsview435230.html

所属分类:萌宠日常
上一篇: 养宠家庭|环境清洁步骤✅宠物除臭
下一篇: 宠物去异味最好方法自制,宠物家庭