text_question #16005
Updated by UserName LastName 11 months ago
'## 定义图书类 '定义图书类 Book,图书信息包含: - 编号: bid - 书名: name - 价格: price - 简介: summary ## 实现构造方法及对象描述方法 - __init__ : 初始化方法,接收对应参数初始化对象属性 - __str__ : 实现对象描述方法,输出图书信息 ## 定义管理类 BookManagement,用来实现整体业务逻辑。 - 使用列表做为属性保存图书对象信息 - 定义 manager 方法管理业务逻辑 ## 对用户输入内容进行输入校验 - 根据用户输入内容选择不同功能执行 - 实现菜单方法 __menu,输出下列菜单信息,并返回用户输入的编号 ``` print("*****************************") print("* 图书管理系统 *") print("* 1. 添加新图书信息 *") print("* 2. 通过编号修改图书信息 *") print("* 3. 通过编号删除图书信息 *") print("* 4. 通过书名删除图书信息 *") print("* 5. 通过编号查询图书信息 *") print("* 6. 通过书名查询图书信息 *") print("* 7. 显示所有图书信息 *") print("* 8. 退出系统 *") print("*****************************") ``` ## 因程序中需要多次对编号及书名进行输入,故抽取方法获取对应的数据。 - 获取编号方法 __get_bid, 输入编号并返回(字符串类型)eg. b01 - 获取书名方法 __get_name, 输入书名并返回(字符串类型) - 获取书名方法 __get_price, 输入价格并返回(整型) - 获取书名方法 __get_summary, 输入简介并返回(字符串类型) ## 实现添加图书方法 add_book - 方法参数为 编号,书名,价格,简介四个参数 - 输出添加操作的结果提示信息 - 返回对应结果信息 - 要求编号不可重复。 ## 实现通过编号修改图书信息方法 modify_book_by_id - 参数为 编号 - 如果图书存在,则进行修改,不存在输出提示信息 - 返回是否修改成功 ## 实现通过编号删除图书方法 delete_book_by_id - 参数为 编号 - 如果图书存在,则进行删除并输出提示信息,不存在则仅输出提示 - 返回是否删除成功 ## 实现通过书名删除图书方法 delete_book_by_name - 参数为 书名 - 如果图书存在,则进行删除(同名图书全部删除)并输出提示信息,不存在则仅输出提示 - 返回是否删除成功 ## 实现通过编号查询图书方法 query_book_by_id - 参数为 编号 - 如果图书存在,则输出图书信息,不存在输出提示信息 - 返回是否查询成功 ## 实现通过书名查询图书方法 query_book_by_name - 参数为 书名 - 如果图书存在,则输出图书信息(同名图书全部输出),不存在输出提示信息 - 返回是否查询成功 ## 实现显示所有图书信息方法 show - 输出所有图书信息 ## 实现数据存储方法save_data - 在退出系统时,将数据保存到 data.txt 文件中 - 数据保存格式自定义 ## 实现数据加载方法load_data - 如果数据文件 data.txt 存在,则从文件中加载数据 - 如果文件不存在则初始为空'