识别题目 定义一个包含图书信息(ISBN,书名,定价)的顺序表,使其具有如下功能: (1)创建空顺序表; (2) 输入顺序表图书信息(从给定book.txt 读入图书信息) (3)查找顺序表中给定
时间: 2024-11-05 16:26:01 浏览: 92
这是一个关于设计和实现一个简单的图书管理数据结构的问题。您想要创建一个顺序表(也称为线性表或数组列表),用于存储图书的信息,包括 ISBN(国际标准书号)、书名和定价。这个数据结构需要支持以下功能:
1. **创建空顺序表**:初始化一个空的列表,即没有添加任何图书信息的列表。
2. **输入图书信息**:通过文件(例如 `book.txt`)读取图书信息,并将其添加到顺序表中。这通常涉及逐行读取文件内容,解析每一行(如逗号分隔的数据),然后转换成对应的图书对象并插入到顺序表中。
3. **查找图书**:根据给定的ISBN,搜索顺序表找到相应图书的信息。如果存在则返回,否则返回找不到的结果。
4. **其他可能的功能**:可能还包括删除图书、更新图书信息、遍历所有图书等操作。
在Python中,可以这样做:
```python
class Book:
def __init__(self, isbn, title, price):
self.isbn = isbn
self.title = title
self.price = price
class LibraryList:
def __init__(self):
self.books = []
# 添加书籍
def add_book(self, book_info):
with open('book.txt', 'r') as file:
lines = file.readlines()
for line in lines:
isbn, title, price = line.strip().split(',')
self.books.append(Book(isbn, title, price))
# 查找书籍
def search_by_isbn(self, isbn):
for book in self.books:
if book.isbn == isbn:
return (book.isbn, book.title, book.price)
return None
# 示例使用
library = LibraryList()
library.add_book(['9789861234567', 'Python入门', '39.9'])
print(library.search_by_isbn('9789861234567'))
```
阅读全文