使用Python编写一个基本的图书管理系统
发布时间:2023-12-04 15:30:33
下面是一个使用Python编写的基本图书管理系统的示例:
class Book:
def __init__(self, book_id, title, author):
self.book_id = book_id
self.title = title
self.author = author
self.checked_out = False
def get_book_info(self):
return f"Book ID: {self.book_id}
Title: {self.title}
Author: {self.author}
"
def check_out(self):
if self.checked_out:
return "This book is already checked out."
else:
self.checked_out = True
return "Book checked out successfully."
def check_in(self):
if not self.checked_out:
return "This book is not checked out."
else:
self.checked_out = False
return "Book checked in successfully."
class Library:
def __init__(self):
self.books = []
def add_book(self, book):
self.books.append(book)
def remove_book(self, book):
self.books.remove(book)
def search_book_by_title(self, title):
for book in self.books:
if book.title == title:
return book.get_book_info()
return "Book not found."
def search_book_by_author(self, author):
found_books = []
for book in self.books:
if book.author == author:
found_books.append(book.get_book_info())
if len(found_books) == 0:
return "No books found."
else:
return "
".join(found_books)
def search_book_by_id(self, book_id):
for book in self.books:
if book.book_id == book_id:
return book.get_book_info()
return "Book not found."
# Example usage
book1 = Book(1, "Book 1", "Author 1")
book2 = Book(2, "Book 2", "Author 2")
library = Library()
library.add_book(book1)
library.add_book(book2)
print(library.search_book_by_title("Book 1"))
print(library.search_book_by_author("Author 2"))
print(book2.check_out())
print(library.search_book_by_author("Author 2"))
print(book2.check_in())
print(library.search_book_by_author("Author 2"))
在上面的代码中,我们定义了两个类:Book和Library。
Book类表示一本书,使用book_id、title和author属性来存储书籍的信息。它还包含check_out和check_in方法来借阅和归还书籍。
Library类表示一个图书馆,使用books属性来存储所有书籍。它包含add_book和remove_book方法来添加和移除书籍。还有一些用来按照标题、作者或图书ID搜索书籍的方法。
在使用例子中,我们首先创建了两本书并添加到图书馆中。然后我们通过书名和作者搜索图书馆中的书籍。然后我们借出一本书并再次搜索该作者的书籍,确认这本书已经被借出了。接下来,我们归还这本书并再次搜索该作者的书籍,确认这本书已经可以被再次借阅。
这只是一个简单的图书管理系统示例,可以根据需求进行扩展和修改。
