以下为某商店的商品销售信息: 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-20 07:22:04 浏览: 37
1. 计算每个商品的销售额
可以编写一个函数 `calculate_sales(sales_data)`,其中 `sales_data` 是包含销售信息的列表,返回一个带有销售额的列表。具体实现如下:
```python
def calculate_sales(sales_data):
result = []
for item in sales_data[1:]:
sales = item[3] * (item[4] - item[5])
result.append(item + [sales])
return result
```
2. 统计每种商品类别的商品数量和总销售额
可以先调用 `calculate_sales` 函数得到带有销售额的列表,然后使用字典来统计每种商品类别的商品数量和总销售额。具体实现如下:
```python
sales_data = [
['订单号', '商品类别编号', '商品名称', '单价', '销售数量', '退货数量'],
['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_data):
result = []
for item in sales_data[1:]:
sales = item[3] * (item[4] - item[5])
result.append(item + [sales])
return result
sales_with_sales = calculate_sales(sales_data)
category_sales = {}
category_count = {}
for item in sales_with_sales:
category = item[1]
count = item[4] - item[5]
sales = item[6]
if category not in category_sales:
category_sales[category] = sales
category_count[category] = count
else:
category_sales[category] += sales
category_count[category] += count
```
3. 按总销售额从高到低输出每种商品类别的总销售额及其排名
可以使用 `sorted` 函数对 `category_sales` 进行排序,并输出每种商品类别的总销售额和排名。具体实现如下:
```python
sorted_category_sales = sorted(category_sales.items(), key=lambda x: x[1], reverse=True)
print('每种商品类别的总销售额及其排名:')
for i, item in enumerate(sorted_category_sales):
print(f'第{i + 1}名:商品类别编号 {item[0]},总销售额 {item[1]:.2f} 元')
```
4. 输出包含商品数量最多的商品类别
可以使用 `max` 函数对 `category_count` 进行求解,并输出商品数量最多的商品类别。具体实现如下:
```python
max_count_category = max(category_count.items(), key=lambda x: x[1])[0]
print(f'商品数量最多的商品类别是:商品类别编号 {max_count_category}')
```
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.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)
![exe](https://img-home.csdnimg.cn/images/20210720083343.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)