好的,下面是一个示例性的原生代码,目标是实现一个简单的图书管理系统。该系统可以用于添加、删除、搜索和列出所有书籍。
# 图书类,用于存储书籍信息
class Book:
def __init__(self, title, author, year, isbn):
self.title = title # 书名
self.author = author # 作者
self.year = year # 出版年份
self.isbn = isbn # ISBN编号
def __repr__(self):
return f"Book({self.title}, {self.author}, {self.year}, {self.isbn})"
# 图书管理系统类
class BookManager:
def __init__(self):
self.books = [] # 书籍列表,初始为空
def add_book(self, title, author, year, isbn):
"""
添加一本书到系统中
:param title: 书名
:param author: 作者
:param year: 出版年份
:param isbn: ISBN编号
"""
new_book = Book(title, author, year, isbn)
self.books.append(new_book)
print(f"添加书籍:《{title}》成功。")
def remove_book(self, isbn):
"""
根据ISBN编号删除书籍
:param isbn: ISBN编号
"""
for book in self.books:
if book.isbn == isbn:
self.books.remove(book)
print(f"删除书籍:《{book.title}》成功。")
return
print("未找到ISBN编号对应的书籍。")
def search_books_by_title(self, title):
"""
根据书名搜索书籍
:param title: 书名
:return: 包含搜索结果的书籍列表
"""
found_books = [book for book in self.books if title.lower() in book.title.lower()]
if found_books:
print(f"找到以下书籍与“{title}”匹配:")
for book in found_books:
print(book)
else:
print(f"未找到与“{title}”匹配的书籍。")
return found_books
def list_all_books(self):
"""列出系统中所有书籍"""
if not self.books:
print("当前没有任何书籍。")
else:
print("图书列表:")
for book in self.books:
print(book)
# 主函数,模拟一些操作
def main():
manager = BookManager() # 创建图书管理系统实例
# 添加一些书籍
manager.add_book("Python编程从入门到实践", "Eric Matthes", 2016, "9787115423616")
manager.add_book("算法导论", "Thomas H. Cormen", 2009, "9787111187772")
manager.add_book("清醒思考的艺术", "Rolf Dobelli", 2011, "9787508642834")
# 列出所有书籍
manager.list_all_books()
# 搜索书籍
manager.search_books_by_title("Python")
# 删除一本书
manager.remove_book("9787111187772")
# 再次列出所有书籍
manager.list_all_books()
if __name__ == "__main__":
main()
以上代码实现了一个基本的图书管理系统,包含以下几个模块:
Book
类:用于封装每本书的基本信息,包括书名、作者、出版年份和ISBN编号。BookManager
类:实现书籍的增删查功能,并管理书籍的存储。add_book
方法:接受书籍的详细信息并将其添加到系统中。remove_book
方法:根据ISBN编号从系统中移除书籍。search_books_by_title
方法:根据书名搜索书籍,支持部分匹配。list_all_books
方法:列出系统中所有的书籍。main
函数:用于模拟用户操作,包括添加、删除和检索书籍。通过运行该程序,用户可以演示一次添加、搜索、删除和查看图书列表的简单流程。有必要时,用户可以扩展此代码以添加更多功能,例如通过作者搜索、编辑书籍信息、持久化存储等。