diff --git a/maths/average_mean.py b/maths/average_mean.py index 4beca1f74..e02e307f2 100644 --- a/maths/average_mean.py +++ b/maths/average_mean.py @@ -1,20 +1,28 @@ -"""Find mean of a list of numbers.""" +from typing import List -def average(nums): - """Find mean of a list of numbers.""" +def mean(nums: List) -> float: + """ + Find mean of a list of numbers. + Wiki: https://en.wikipedia.org/wiki/Mean + + >>> mean([3, 6, 9, 12, 15, 18, 21]) + 12.0 + >>> mean([5, 10, 15, 20, 25, 30, 35]) + 20.0 + >>> mean([1, 2, 3, 4, 5, 6, 7, 8]) + 4.5 + >>> mean([]) + Traceback (most recent call last): + ... + ValueError: List is empty + """ + if not nums: + raise ValueError("List is empty") return sum(nums) / len(nums) -def test_average(): - """ - >>> test_average() - """ - assert 12.0 == average([3, 6, 9, 12, 15, 18, 21]) - assert 20 == average([5, 10, 15, 20, 25, 30, 35]) - assert 4.5 == average([1, 2, 3, 4, 5, 6, 7, 8]) - - if __name__ == "__main__": - """Call average module to find mean of a specific list of numbers.""" - print(average([2, 4, 6, 8, 20, 50, 70])) + import doctest + + doctest.testmod()