-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathstats-CPO.py
More file actions
55 lines (43 loc) · 1.1 KB
/
Copy pathstats-CPO.py
File metadata and controls
55 lines (43 loc) · 1.1 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
from collections import defaultdict
"""
Python -m doctest -v stats-CPO.py
"""
#Add two numbers
def add (num1, num2):
return num1 + num2
print (add(5,2))
#Commute volume of a cube
def rectvol(length, width, height):
return (length * width * height)
#Find the mean of a list of numbers
def mean(numbers):
return sum(numbers)/len(numbers)
def median(numbers):
"""
Computes the median of a list of numbers.
Argument: list of numbers
Return: the median
>>> median([2,1,6])
2
>>> median([3,5,4,9])
4.5
"""
numbers = sorted(numbers)
middle = (len(numbers))// 2
if (len(numbers) % 2 == 1): # if odd
return numbers[middle]
else: #if even
return sum(numbers[middle -1:middle + 1])/2.0
def mode(numbers):
"""
Find the most common frequent value in the list
Argument: list of numbers
Return: the mode
>>> mode([6,6,6,8,8,7])
6
"""
d = defaultdict(int)
for num in numbers:
d[num]+=1
return sorted(d, key = lambda k: d[k])[-1]
#return sorted(d, key = lambda key: d[key], reverse = True)[0]