请帮我写一个Python程序,以下为某商店的商品销售信息: sales=[['订单号','商品类别编号','商品名 称';单价销售数量,'退货数量], ['1058032''01','蛋糕80g',6.78,1,0], ['1058032','02','雀巢1+2咖啡原味15g*7条',1 0.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 12:24:03 浏览: 80
数据分析助手:编写Python程序以分析销售数据
好的,以下是代码实现:
```python
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]]
def calculate_sales(sales_list):
"""
计算每个商品的销售额,形参为销售信息列表,返回带有销售额的列表
"""
sales_list[0].append('销售额') # 添加销售额的列名
for i in range(1, len(sales_list)):
sales = sales_list[i][3] * sales_list[i][4] # 计算销售额
sales_list[i].append(sales) # 添加销售额到列表中
return sales_list
def calculate_total_sales_by_category(sales_list):
"""
统计每种商品类别的商品数量和总销售额,按总销售额从高到低输出每种商品类别的总销售额及其排名
输出包含商品数量最多的商品类别
"""
category_sales = {} # 用字典存储每种商品类别的总销售额
category_count = {} # 用字典存储每种商品类别的商品数量
for i in range(1, len(sales_list)):
category = sales_list[i][1]
sales = sales_list[i][-1]
count = sales_list[i][4]
category_sales[category] = category_sales.get(category, 0) + sales
category_count[category] = category_count.get(category, 0) + count
sorted_category_sales = sorted(category_sales.items(), key=lambda x: x[1], reverse=True)
print("按总销售额从高到低输出每种商品类别的总销售额及其排名:")
for i, item in enumerate(sorted_category_sales):
print("第{}名:商品类别编号{},总销售额为{}元".format(i + 1, item[0], item[1]))
sorted_category_count = sorted(category_count.items(), key=lambda x: x[1], reverse=True)
print("商品数量最多的商品类别:商品类别编号{}".format(sorted_category_count[0][0]))
# 主程序
sales = calculate_sales(sales) # 计算每个商品的销售额
calculate_total_sales_by_category(sales) # 统计每种商品类别的商品数量和总销售额,输出结果
```
使用时,先将销售信息列表传入calculate_sales函数,计算每个商品的销售额,然后将返回的列表传入calculate_total_sales_by_category函数,统计每种商品类别的商品数量和总销售额,输出按总销售额从高到低排序的每种商品类别的总销售额及排名,以及商品数量最多的商品类别。
阅读全文