酷代码 AI
菜单
全部AI  /  热门  /  AI写代码神器
服务商

编写程序完成以下要求:定义图书馆类library、图书类book、学生类student。 其中,图书馆类library包含私有属性:图书总量和馆藏图书,并包含以下方法的定义: ①初始化方法:__init__(self),用于设置私有属性图书总量为0、馆藏图书为空字典{}。 ②获取图书总量:gettotalamount (self),返回值为整数。 ③获取可借图书列表:getavailable (self),返回值为以book对象为元素的列表,其中按书名从a至z顺序排列。 ④添加图书:add (self, *books),没有返回值。 ⑤借阅图书:lendbook(self, student, bookname),返回值为逻辑型,表示借阅是否成功。 ⑥归还图书:returnbook(self, bookname),返回值为逻辑型,表示归还是否成功。 图书类book包含私有属性:图书名称和作者,并包含以下方法的定义: ①初始化方法:__init__(self, name, author),用于将参数name赋值给私有属性图书名称以及将参数author赋值给私有属性图书作者

```python class Library: def __init__(self): self.__total_amount = 0 self.__books = {} def gettotalamount(self): return self.__total_amount def getavailable(self): available_books = [book for book in self.__books.values() if book.is_available()] return sorted(available_books, key=lambda x: x.get_name()) def add(self, *books): for book in books: if book.get_name() not in self.__books: self.__books[book.get_name()] = book self.__total_amount += 1 def lendbook(self, student, bookname): if bookname in self.__books and self.__books[bookname].is_available(): self.__books[bookname].set_borrowed(True) student.borrow_book(self.__books[bookname]) return True return False def returnbook(self, bookname): if bookname in self.__books and not self.__books[bookname].is_available(): self.__books[bookname].set_borrowed(False) return True return False class Book: def __init__(self, name, author): self.__name = name self.__author = author self.__is_borrowed = False def get_name(self): return self.__name def get_author(self): return self.__author def is_available(self): return not self.__is_borrowed def set_borrowed(self, status): self.__is_borrowed = status class Student: def __init__(self, name): self.__name = name self.__borrowed_books = [] def borrow_book(self, book): self.__borrowed_books.append(book) def return_book(self, book): if book in self.__borrowed_books: self.__borrowed_books.remove(book) ``` 这段代码定义了三个类:Library、Book和Student。Library类管理图书的添加、借阅和归还,并跟踪馆藏图书的状态。Book类表示单个图书,包含图书名称、作者和借阅状态。Student类表示学生,可以借阅和归还图书。 [2024-11-18 22:31:25 | AI写代码神器 | 578点数解答]

相关提问