Python 实现图书馆、图书与学生类:图书管理系统代码揭秘
```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类表示学生,可以借阅和归还图书。 ######[AI写代码神器 | 578点数解答 | 2024-11-18 22:31:25]
- Python 运行报错:urllib3 网络连接创建失败,原因及排查建议(字节豆包 | 161点数解答 | 2024-10-31 00:39:36)498
- Python 实现球类:精准计算半径、表面积与体积,附输入验证与异常处理!(阿里通义 | 261点数解答 | 2024-11-28 21:19:39)384
- 工程师必备!10 种工程日常易用管理工具大揭秘(百度文心 | 346点数解答 | 2023-11-09 18:26:09)311
- Python 实战:学生信息列表转字典、遍历、深拷贝及数据修改全流程(GPT | 422点数解答 | 2024-10-29 15:43:54)451
- Python实战:学生成绩列表转字典,深拷贝与数据修改操作全解析(字节豆包 | 254点数解答 | 2024-10-29 16:01:39)443
- Java程序模拟教学选课:林老师开课,58 位学生选课男女比例大揭秘( | 2653点数解答 | 2024-04-02 11:00:16)490
- Java程序设计课程:模拟教学管理,统计58位选课学生男女比重( | 363点数解答 | 2024-04-05 18:31:39)496
- R语言实战:用配对样本t检验评估课程强化集训对学生成绩的提升效果(GPT | 630点数解答 | 2024-11-26 22:00:01)344
- 51 单片机:定时器 0 实现 8 个 LED 循环点亮,附代码及优化建议(字节豆包 | 1193点数解答 | 2024-12-27 15:10:29)353
- Java调用Python接口中文乱码?设置UTF - 8编码一招解决!(讯飞星火 | 263点数解答 | 2024-06-06 17:07:59)422
- 解决Java调用Python接口中文乱码问题:设置UTF - 8编码全攻略(讯飞星火 | 160点数解答 | 2024-06-06 17:18:39)445
- Java调用Python接口中文乱码问题:字符编码统一解决方案(讯飞星火 | 344点数解答 | 2024-06-06 17:19:55)553