RosettaCodeData/Task/Averages-Pythagorean-means/Python/averages-pythagorean-means.py

21 lines
357 B
Python
Raw Permalink Normal View History

2013-04-10 14:58:50 -07:00
from operator import mul
from functools import reduce
2019-09-12 10:33:56 -07:00
2013-04-10 14:58:50 -07:00
def amean(num):
2019-09-12 10:33:56 -07:00
return sum(num) / len(num)
2013-04-10 14:58:50 -07:00
def gmean(num):
2019-09-12 10:33:56 -07:00
return reduce(mul, num, 1)**(1 / len(num))
2013-04-10 14:58:50 -07:00
def hmean(num):
2019-09-12 10:33:56 -07:00
return len(num) / sum(1 / n for n in num)
2013-04-10 14:58:50 -07:00
2019-09-12 10:33:56 -07:00
numbers = range(1, 11) # 1..10
2013-04-10 14:58:50 -07:00
a, g, h = amean(numbers), gmean(numbers), hmean(numbers)
print(a, g, h)
2019-09-12 10:33:56 -07:00
assert a >= g >= h