编写一个程序,假设图书馆的图书包含书名、编号和作者等 3 个属性,读者包 含姓名和借书证属性,每位读者最多可借 5 本书,编写程序列出某读者的借书情 况
时间: 2024-12-18 12:33:14 浏览: 19
为了编写这个简单的程序,我们可以使用面向对象编程的概念,创建两个类:`Book` 和 `Reader`,并实现一些基本功能。在这个例子中,我们将只关注基本的功能,例如添加书籍到读者的借阅列表,以及检查读者是否超过了借书限制。
```python
class Book:
def __init__(self, title, id, author):
self.title = title
self.id = id
self.author = author
class Reader:
def __init__(self, name, library_card):
self.name = name
self.library_card = library_card
self.borrowed_books = []
def borrow_book(self, book):
if len(self.borrowed_books) < 5:
self.borrowed_books.append(book)
print(f"{self.name}成功借阅了'{book.title}'")
else:
print(f"{self.name}已达到借书上限,无法再借{book.title}")
def return_book(self, book_id):
for i, borrowed_book in enumerate(self.borrowed_books):
if borrowed_book.id == book_id:
self.borrowed_books.pop(i)
print(f"{self.name}归还了'{borrowed_book.title}'")
break
else:
print(f"{self.name}的借阅列表中找不到这本书")
# 示例:
book1 = Book("Python入门", 101, "张三")
book2 = Book("Java实战", 202, "李四")
reader1 = Reader("小明", 12345)
reader1.borrow_book(book1)
reader1.borrow_book(book2)
# 检查并尝试超限借书
reader1.borrow_book(Book("C++指南", 303, "王五")) # 将会显示借书上限信息
# 还书
reader1.return_book(101)
```
这个程序允许我们创建书籍和读者实例,并管理读者的借阅情况。请注意,在实际应用中,你可能还需要考虑数据库交互、错误处理等因素。
阅读全文