基于顺序表,设计一套图书管理系统,读取book.txt中的信息,并实现顺序表的初始化、顺序表的取值、顺序表的查找、顺序表的插入、顺序表的删除。代码附上
时间: 2024-05-15 10:18:18 浏览: 87
好的,我可以为您解答关于图书管理系统的问题。以下是基于顺序表的图书管理系统代码,包括初始化、取值、查找、插入和删除操作。
首先,我们需要明确一下图书的信息包括什么,比如书名、作者、出版社、出版日期等等。在本代码中,我们假定书籍信息是保存在book.txt文件中的,每行代表一本书的信息,以逗号分隔。具体实现如下:
```python
# 定义一个书籍类
class Book:
def __init__(self, name, author, publisher, date):
self.name = name
self.author = author
self.publisher = publisher
self.date = date
# 定义一个管理系统类
class Library:
# 初始化函数,读取book.txt中的信息并存储到lst列表中
def __init__(self):
self.lst = []
with open('book.txt', 'r') as f:
lines = f.readlines()
for line in lines:
data = line.strip().split(',')
book = Book(data[0], data[1], data[2], data[3])
self.lst.append(book)
# 取值操作,返回位于index位置的书籍对象
def get_book(self, index):
return self.lst[index]
# 查找操作,返回第一个符合条件的书籍对象
def find_book(self, name):
for book in self.lst:
if book.name == name:
return book
return None
# 插入操作,将书籍对象插入到index位置
def insert_book(self, index, book):
self.lst.insert(index, book)
# 删除操作,删除位于index位置的书籍对象
def delete_book(self, index):
self.lst.pop(index)
# 示例代码,创建一个图书管理系统对象并进行测试
lib = Library()
print(lib.get_book(0).name) # 输出第一本书籍的名称
print(lib.find_book('Python基础教程').author) # 输出搜索到的书籍的作者
new_book = Book('新书', '新作者', '新出版社', '2021-05-01')
lib.insert_book(1, new_book) # 在第二本书后插入新书
print(lib.get_book(2).name) # 输出插入的新书的名称
lib.delete_book(3) # 删除第四本书
print(len(lib.lst)) # 输出当前书籍数量
```
希望本代码能够帮助您理解顺序表的基本操作,以及如何在 Python 中实现一个简单的图书管理系统。如果您有任何问题,请随时联系我。
阅读全文