欢迎访问宙启技术站
智能推送

使用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"))

在上面的代码中,我们定义了两个类:BookLibrary

Book类表示一本书,使用book_idtitleauthor属性来存储书籍的信息。它还包含check_outcheck_in方法来借阅和归还书籍。

Library类表示一个图书馆,使用books属性来存储所有书籍。它包含add_bookremove_book方法来添加和移除书籍。还有一些用来按照标题、作者或图书ID搜索书籍的方法。

在使用例子中,我们首先创建了两本书并添加到图书馆中。然后我们通过书名和作者搜索图书馆中的书籍。然后我们借出一本书并再次搜索该作者的书籍,确认这本书已经被借出了。接下来,我们归还这本书并再次搜索该作者的书籍,确认这本书已经可以被再次借阅。

这只是一个简单的图书管理系统示例,可以根据需求进行扩展和修改。