Функции математической статистики в Python 3.4

Функции математической статистики в Python 3.4

Andrii Soldatenko

В Python 3.4 был добавлен модуль statistics, с помощью которого можно решить достаточно много разных задач. Как например, задачу(UVA 10370 Above Average), а именно для каждого тест кейса, необходимо посчитать % студентов, у которых оценка выше средней, при условии что округлять будем до 3 знаков после запятой. 

import statistics


grades = [100, 95, 90, 80, 70, 60, 50]
n = len(grades)

# Arithmetic mean (“average”) of data.
avg_grade = statistics.mean(grades)

print('{0:.3f}%'.format(round(sum([1 for x in grades if x > avg_grade]) / n * 100, 3)))

# 57.143% - correct answer

Как вариант ср. значение можно еще посчитать используя:

avg_grade = sum(grades)/len(grades)
# or
functools.reduce(lambda x, y: x + y, grades) / len(grades)

Все равно я считаю использование стандартного модуля statistics - самым элегантным решением 🎉🎉🎉






































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































Report Page