用Python写一个满足下列要求的代码:突出信息表包括以下10中常见的基本操作:图书信息表的创建和输出、排序、修改、逆序存储、最贵图书的查找、最爱图书的查找、最佳图书的查找、新图书的入库、旧图书的出库
时间: 2025-02-08 09:03:41 浏览: 42
在Python中,我们可以使用内置数据结构如列表(list)或字典(dict)来模拟图书信息表,并结合一些内置函数如`sorted()`, `index()`, 和`append()`等来实现上述需求。这里是一个简单的示例:
```python
# 定义图书信息表的类
class BookInfo:
def __init__(self):
self.books = []
# 添加新图书
def add_book(self, title, price, popularity):
new_book = {'title': title, 'price': price, 'popularity': popularity}
self.books.append(new_book)
# 输出所有图书
def print_books(self):
for book in sorted(self.books, key=lambda x: x['title']):
print(f"标题: {book['title']}, 价格: {book['price']}, 流行度: {book['popularity']}")
# 按价格升序排序并输出
def sort_by_price(self):
self.books.sort(key=lambda x: x['price'])
print("按价格排序后的图书:")
self.print_books()
# 修改图书信息
def modify_book(self, title, new_price=None, new_popularity=None):
for book in self.books:
if book['title'] == title:
if new_price is not None:
book['price'] = new_price
if new_popularity is not None:
book['popularity'] = new_popularity
break
# 逆序存储
def reverse_storage(self):
self.books.reverse()
print("逆序存储后的图书:")
self.print_books()
# 查找最贵的图书
def find_most_expensive(self):
return max(self.books, key=lambda x: x['price'])['title']
# 查找最爱的图书(这里假设流行度越高表示越受欢迎)
def find_most_popular(self):
return max(self.books, key=lambda x: x['popularity'])['title']
# 查找最佳图书(可以根据不同标准,比如价格+流行度)
def find_best_book(self, custom_sort_key=lambda x: x['price'] + x['popularity']):
return max(self.books, key=custom_sort_key)['title']
# 创建一个BookInfo实例并测试
info_table = BookInfo()
info_table.add_book('书A', 50, 3)
info_table.add_book('书B', 80, 1)
info_table.sort_by_price()
# ...其他操作可以类似地添加到这个类中
```
这只是一个基础版本的例子,实际应用中可能需要处理更复杂的情况,例如处理错误、使用数据库存储和查询等。在这个基础上,你可以根据需要扩展更多的功能。
阅读全文
相关推荐








