定义一个产品类Book表示图书库存类,该类有三个数据成员:name, publisher, price, count,分别表示该图书的书名(字符串型)、出版社(字符串型)、单价(小数类型)、库存数量(整数类型),通过构造函数传值进行初始化。图书的初始信息存储在books.txt文件中,每行表示一种图书,每行有四列分别表示产品的四个信息。要求从文件读取所有书籍信息,保存在列表中,按出版社和库存量排序,保存到文件。
时间: 2023-05-28 09:02:23 浏览: 155
class Book:
def __init__(self, name, publisher, price, count):
self.name = name
self.publisher = publisher
self.price = price
self.count = count
def load_books(file_name):
books = []
with open(file_name, 'r') as f:
for line in f:
name, publisher, price, count = line.strip().split(',')
book = Book(name, publisher, float(price), int(count))
books.append(book)
return books
def save_books(file_name, books):
with open(file_name, 'w') as f:
for book in books:
f.write('{},{},{},{}\n'.format(book.name, book.publisher, book.price, book.count))
def sort_by_publisher_and_count(books):
return sorted(books, key=lambda x: (x.publisher, -x.count))
books = load_books('books.txt')
sorted_books = sort_by_publisher_and_count(books)
save_books('sorted_books.txt', sorted_books)
阅读全文
相关推荐
![doc](https://img-home.csdnimg.cn/images/20241231044833.png)
![doc](https://img-home.csdnimg.cn/images/20241231044833.png)
![docx](https://img-home.csdnimg.cn/images/20241231044901.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![-](https://img-home.csdnimg.cn/images/20241231044901.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)