text_question #16005
openpod_templa desc=定义图书类 answer_id= name=图书管理系
0%
编程题
...
'## 定义图书类 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 存在,则从文件中加载数据
- 如果文件不存在则初始为空'
- 11052