用python写图书管理系统
时间: 2023-06-23 11:08:14 浏览: 70
好的,下面是一个简单的图书管理系统的Python代码:
```python
class Book:
def __init__(self, title, author, isbn, num_copies):
self.title = title
self.author = author
self.isbn = isbn
self.num_copies = num_copies
def get_title(self):
return self.title
def get_author(self):
return self.author
def get_isbn(self):
return self.isbn
def get_num_copies(self):
return self.num_copies
def set_num_copies(self, num_copies):
self.num_copies = num_copies
class Library:
def __init__(self):
self.books = []
def add_book(self, book):
self.books.append(book)
def find_book(self, title):
for book in self.books:
if book.get_title() == title:
return book
return None
def remove_book(self, book):
self.books.remove(book)
def display_books(self):
for book in self.books:
print("Title:", book.get_title())
print("Author:", book.get_author())
print("ISBN:", book.get_isbn())
print("Number of Copies:", book.get_num_copies())
print("")
def borrow_book(self, title):
book = self.find_book(title)
if book is not None and book.get_num_copies() > 0:
book.set_num_copies(book.get_num_copies() - 1)
print("Book has been borrowed.")
else:
print("Book is not available.")
def return_book(self, title):
book = self.find_book(title)
if book is not None:
book.set_num_copies(book.get_num_copies() + 1)
print("Book has been returned.")
else:
print("Book was not found.")
# Example usage:
library = Library()
book1 = Book("The Great Gatsby", "F. Scott Fitzgerald", "9780199536405", 5)
book2 = Book("To Kill a Mockingbird", "Harper Lee", "9780061120084", 3)
book3 = Book("The Catcher in the Rye", "J.D. Salinger", "9780316769488", 2)
library.add_book(book1)
library.add_book(book2)
library.add_book(book3)
library.display_books()
library.borrow_book("The Great Gatsby")
library.borrow_book("The Great Gatsby")
library.borrow_book("The Catcher in the Rye")
library.display_books()
library.return_book("The Great Gatsby")
library.display_books()
```
这个代码包含了两个类:`Book` 和 `Library`。`Book` 类表示一本书,包含书名、作者、ISBN 号以及库存数量。`Library` 类表示一个图书馆,包含了可以添加、查找、删除、显示和借阅书籍的方法。您可以根据需要添加其他的方法或者属性。