Skip to content

Commit 41eb652

Browse files
add median
1 parent 7c7d060 commit 41eb652

File tree

2 files changed

+28
-38
lines changed

2 files changed

+28
-38
lines changed

maths/allocation.py

Lines changed: 0 additions & 38 deletions
This file was deleted.

maths/median.py

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
"""
2+
https://en.wikipedia.org/wiki/Median
3+
"""
4+
5+
6+
def median(numbers):
7+
"""
8+
Calculate median of a list numbers.
9+
:param numbers: the numbers to be calculated.
10+
:return: median value of numbers.
11+
12+
>>> median([1, 3, 3, 6, 7, 8, 9])
13+
6
14+
>>> median([1, 2, 3, 4, 5, 6, 8, 9])
15+
4.5
16+
"""
17+
numbers = sorted(numbers)
18+
mid_index = len(numbers) // 2
19+
return (
20+
(numbers[mid_index] + numbers[mid_index - 1]) / 2 if mid_index % 2 == 0
21+
else numbers[mid_index]
22+
)
23+
24+
25+
if __name__ == "__main__":
26+
from doctest import testmod
27+
28+
testmod()

0 commit comments

Comments
 (0)