Решите задачу об интернет-торговле на языке программирования Python. Некоторые клиенты делали покупки

Решите задачу об интернет-торговле на языке программирования Python. Некоторые клиенты делали покупки в интернет-магазине в течение года. При каждой покупке были записаны имя клиента (в виде строки) и сумма, потраченная им на покупку (в виде числа с плавающей точкой). Напишите функцию, которая будет рассчитывать и возвращать словарь с параметрами для каждого клиента (в формате имя: значение). Один из этих параметров должен быть средней суммой покупок для каждого клиента.
Гроза

Гроза

Конечно! Для решения данной задачи мы можем написать функцию на языке программирования Python, которая принимает на вход список покупок и возвращает словарь с параметрами для каждого клиента.

Вот решение задачи:

python
def calculate_avg_purchase(transactions):
client_dict = {} # словарь с параметрами для каждого клиента

for transaction in transactions:
client = transaction[0] # имя клиента
amount = transaction[1] # сумма покупки

if client in client_dict:
# если клиент уже есть в словаре, добавляем сумму покупки к общей сумме и увеличиваем количество покупок
client_dict[client][0] += amount
client_dict[client][1] += 1
else:
# если клиента нет в словаре, добавляем его сумму покупки и количество покупок
client_dict[client] = [amount, 1]

# рассчитываем среднюю сумму покупок для каждого клиента и добавляем ее в словарь
for client in client_dict:
avg_amount = client_dict[client][0] / client_dict[client][1]
client_dict[client].append(avg_amount)

return client_dict


Теперь, если у нас есть список покупок, мы можем вызвать эту функцию и получить словарь с параметрами для каждого клиента. Каждая запись в словаре будет иметь формат "имя клиента: [общая сумма покупок, количество покупок, средняя сумма покупок]".

Например, если у нас есть следующий список покупок:

python
transactions = [
["Иванов", 100.0],
["Петров", 200.0],
["Сидоров", 150.0],
["Иванов", 300.0],
["Петров", 250.0],
["Сидоров", 200.0]
]


Тогда вызов функции `calculate_avg_purchase(transactions)` вернет следующий словарь:

python
{
"Иванов": [400.0, 2, 200.0],
"Петров": [450.0, 2, 225.0],
"Сидоров": [350.0, 2, 175.0]
}


В данном словаре указаны параметры для каждого клиента: общая сумма покупок, количество покупок и средняя сумма покупок.

Надеюсь, что данное пошаговое решение понятно. Если есть дополнительные вопросы, не стесняйтесь задавать!
Знаешь ответ?
Задать вопрос
Привет!
hello