Медиана набора чисел — это число, которое находится в середине этого набора, если его упорядочить по возрастанию. То есть такое число, что половина из элементов набора не меньше него, а другая половина не больше.

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

Примеры

median([1, 2, 4, 5, 6, 8, 8, 8, 10]) ➞ 6

median([2, 2, 6, 8, 8, 10, 10]) ➞ 8

median([1, 2, 2, 4, 7, 8, 9, 10]) ➞ 5.5

Варианты решения

def median(nums):
    m = len(nums) // 2
    return (nums[-(m + 1)] + nums[m]) / 2
import statistics

def median(nums):
    return statistics.median(nums)
def median(nums):
    count = len(nums)
    median = (nums[count // 2] + nums[(count - 1) // 2]) / 2
    return round(median, 1)
Марина

Recent Posts

Сборка мусора в Python: ключевые концепции и механизмы

Управление памятью - важный, но часто упускаемый из виду аспект программирования. При неправильном подходе оно…

6 дней ago

Круговой импорт в Python и как его избежать

Как возникает круговой импорт? Эта ошибка импорта обычно возникает, когда два или более модуля, зависящих…

2 недели ago

Библиотека tqdm: визуализация прогресса выполнения скриптов Python

Вы когда-нибудь оказывались в ситуации, когда скрипт на Python выполняется очень долго и вы задаетесь…

3 недели ago

Символы новой строки в Python

В этом руководстве мы разберем все, что нужно знать о символах перехода на новую строку…

2 месяца ago

if __name__ == «__main__» в Python: полное объяснение

Блок if __name__ == "__main__" в Python позволяет определить код, который будет выполняться только при…

2 месяца ago

Как писать модульные тесты для методов экземпляра в Python

Давайте разберем, как настроить модульные тесты для экземпляров классов. Мы напишем тесты для проверки функциональности…

4 месяца ago