Функции математической статистики в 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 - самым элегантным решением 🎉🎉🎉
