以下为某商店的商品销售信息: sales = [ ['订单号','商品类别编号','商品名称','单价','销售数量','退货数量'], ['1058032','01','蛋糕80g',6.78,1,0], ['1058032','02','雀巢1+2咖啡原味15g*7条',10.50,10,2], ['1033673','02','雪碧清爽柠檬味汽水500ml',2.98,58,0], ['1033673','01','爱达乐全麦吐司面包180g',5.48,20,0], ['1033675','01','菠萝泡芙蛋糕100g',6.98,10,0], ['1029456','03','卫龙牛味棒20g',0.50,20,2], ['1029456','03','洽洽香瓜子200g',7.00,12,0], ['1029456','02','雪碧清爽柠檬味汽水500ml',3.00,100,0] ] 1.请编写函数实现计算每个商品的销售额,形参为销售信息列表,返回带有销售额的列表 2.主程序:调用函数计算每个商品的销售额,然后统计每种商品类别的商品数量和总销售额, 按总销售额从高到底输出每种商品类别的总销售额及其排名 输出包含商品数量最多的商品类别
时间: 2023-08-06 14:16:54 浏览: 172
1. 实现计算每个商品的销售额的函数:
```python
def calculate_sales(sales):
sales_with_revenue = []
for sale in sales[1:]:
revenue = sale[3] * sale[4] - sale[3] * sale[5]
sales_with_revenue.append(sale + [revenue])
return sales_with_revenue
```
2. 统计每种商品类别的商品数量和总销售额,按总销售额从高到低输出每种商品类别的总销售额及其排名,输出包含商品数量最多的商品类别的代码如下:
```python
from collections import defaultdict
# 计算每个商品的销售额
sales_with_revenue = calculate_sales(sales)
# 统计每种商品类别的数量和总销售额
category_sales = defaultdict(list)
for sale in sales_with_revenue:
category_sales[sale[1]].append(sale[6])
# 输出包含商品数量最多的商品类别
most_common_category = max(category_sales, key=lambda x: len(category_sales[x]))
print(f"商品数量最多的商品类别为:{most_common_category}")
# 按总销售额从高到低输出每种商品类别的总销售额及其排名
category_revenue = defaultdict(float)
for category, sales in category_sales.items():
category_revenue[category] = sum(sales)
sorted_category_revenue = sorted(category_revenue.items(), key=lambda x: x[1], reverse=True)
for i, (category, revenue) in enumerate(sorted_category_revenue):
print(f"第{i+1}名商品类别 {category} 总销售额为 {revenue:.2f}")
```
阅读全文