class Book():
def __init__(self, name, category, price):
self.name = name
self.category = category
self.price = price
def getAttr(library, name):
"""
根据书名获取类别和价格
"""
category = ""
price = ""
for book in library:
if name == book.name:
category = book.category
price = book.price
return category, price
def sortBook(library):
"""
对类别排序和分类统计
"""
library.sort(key = lambda Book: Book.category)
categoryNum = {}
for i in range(len(library)):
if i == 0:
categoryNum[library[i].category] = 1
continue
if i > 0 and library[i].category != library[i-1].category:
categoryNum[library[i].category] = 1
else:
categoryNum[library[i].category] += 1
return library, categoryNum
if __name__=="__main__":
book1 = Book("python", "计算机", 50)
book2 = Book("语文", "教材", 30)
book3 = Book("数学", "教材", 40)
book4 = Book("童话", "读物", 45)
library = []
library.append(book1)
library.append(book2)
library.append(book3)
library.append(book4)
library, categoryNum = sortBook(library)
category, price = getAttr(library, "数学")
print("查到name为", "数学的书,", "category:", category, ",price:", price)
print("\n排序后:")
for book in library:
print("name:", book.name, ", category:", book.category, ",price:", book.price)
print("\n统计结果:", categoryNum)