Вычисление статистических показателей
У вас есть список из
n
чисел, и ваша задача — реализовать функцию calculate_statistics
, которая вычисляет и возвращает определённые статистические показатели: среднее, медиану и моду.Функция должна принимать один позиционный аргумент
numbers
(список чисел) и три именованных аргумента только для ключевых слов: mean
, median
и mode
, каждый из которых по умолчанию имеет значение False
. Функция должна вычислять и возвращать только те статистические показатели, которые установлены в True
. Если ни один показатель не запрошен (все установлены в False
), функция должна вернуть пустой словарь.Вывод функции должен быть словарём, где ключи — названия статистических показателей, а значения — их вычисленные значения. Функция должна быть определена следующим образом:
def calculate_statistics(numbers, *, mean=False, median=False, mode=False):
Входные данные | Выходные данные |
calculate_statistics([4, 8, 6, 5, 3, 2, 8, 9, 2], mean=True) | {'mean': 5.222222222222222} |
calculate_statistics([4, 8, 6, 5, 3, 2, 8, 9, 2], median=True) | {'median': 5} |
calculate_statistics([4, 8, 6, 5, 3, 2, 8, 9, 2], mode=True) | {'mode': [2, 8]} |
calculate_statistics([4, 8, 6, 5, 3, 2, 8, 9, 2], mean=True, median=True, mode=True) | {'mean': 5.222222222222222, 'median': 5, 'mode': [2, 8]} |
calculate_statistics([4, 8, 6, 5, 3, 2, 8, 9, 2]) | {} |
calculate_statistics([1, 2], median=True, mean=True, mode=True) | {'mean': 1.5, 'median': 1.5, 'mode': [1, 2]} |
Примечание: В случае мультимодального набора данных функция должна вернуть все моды в виде списка, упорядоченного от меньшего к большему. Если набор данных не мультимодальный, функция должна вернуть единственную моду в списке. Если мода отсутствует, функция должна вернуть пустой список в качестве значения для 'mode'.
Среднее
Среднее списка чисел — это сумма всех чисел, делённая на их количество.
Медиана
Медиана — это среднее значение в упорядоченном от меньшего к большему наборе данных.
Мода
Мода — это число, которое встречается наиболее часто в наборе данных.
Набор данных может иметь одну моду, несколько мод или не иметь моду вовсе.
Constraints
Time limit: 1 seconds
Memory limit: 512 MB
Output limit: 1 MB