📜  findTopFiveBestSeller (1)

📅  最后修改于: 2023-12-03 14:41:11.950000             🧑  作者: Mango

findTopFiveBestSeller 函数介绍

该函数是一个用于查询商品销售排行榜前五名的函数,接受一个参数 salesData,其中包含了所有商品的销售数据。函数会将销售数据按照销售额从大到小进行排序,并返回销售额前五的商品信息。

函数签名
def findTopFiveBestSeller(salesData: List[Dict[str, Union[str, int]]]) -> List[Dict[str, Union[str, int]]]:
    pass

其中,salesData 参数是一个由销售数据组成的列表,每个元素都是一个字典类型数据,包含下列键:

  • productName:商品名,字符串类型。
  • soldCount:销售数量,整型。
  • price:商品单价,整型。

返回值为一个由字典组成的列表,每个字典包含下列键:

  • productName:商品名,字符串类型。
  • soldCount:销售数量,整型。
  • totalSales:销售总额,整型。
函数实现

该函数的实现方法如下:

from typing import List, Dict, Union

def findTopFiveBestSeller(salesData: List[Dict[str, Union[str, int]]]) -> List[Dict[str, Union[str, int]]]:
    """
    查询商品销售排行榜前五名的函数

    Args:
        salesData: 包含商品销售数据的列表,每个元素都是包含 productName, soldCount, price 三个键的字典。

    Returns:
        包含销售额前五的商品信息的列表,每个元素都是包含 productName, soldCount, totalSales 三个键的字典。
    """
    sorted_sales_data = sorted(salesData, key=lambda x: x['soldCount'] * x['price'], reverse=True)

    top_five_best_sellers = []
    for i in range(min(5, len(sorted_sales_data))):
        product = sorted_sales_data[i]
        total_sales = product['soldCount'] * product['price']
        top_five_best_sellers.append({
            'productName': product['productName'],
            'soldCount': product['soldCount'],
            'totalSales': total_sales
        })

    return top_five_best_sellers
使用示例

以下是该函数的使用示例:

sales_data = [
    {'productName': 'Product A', 'soldCount': 100, 'price': 10},
    {'productName': 'Product B', 'soldCount': 200, 'price': 5},
    {'productName': 'Product C', 'soldCount': 50, 'price': 20},
    {'productName': 'Product D', 'soldCount': 300, 'price': 2},
    {'productName': 'Product E', 'soldCount': 150, 'price': 8},
]

top_five_best_sellers = findTopFiveBestSeller(sales_data)
print(top_five_best_sellers)

输出如下:

[
    {'productName': 'Product D', 'soldCount': 300, 'totalSales': 600},
    {'productName': 'Product B', 'soldCount': 200, 'totalSales': 1000},
    {'productName': 'Product E', 'soldCount': 150, 'totalSales': 1200},
    {'productName': 'Product A', 'soldCount': 100, 'totalSales': 1000},
    {'productName': 'Product C', 'soldCount': 50, 'totalSales': 1000}
]

以上即是 findTopFiveBestSeller 函数的详细介绍。