-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathstatistics.py
More file actions
35 lines (27 loc) · 828 Bytes
/
statistics.py
File metadata and controls
35 lines (27 loc) · 828 Bytes
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
class Statistics:
def __init__(self, array):
self.array = array
def mean(self):
sum = 0.0
for n in self.array:
sum += n
return float(sum/len(self.array))
def median(self):
self.array = sorted(self.array)
length = len(self.array)
if length % 2 == 0:
return float((self.array[length/2] + self.array[(length/2) - 1])/2.0)
else:
return self.array[length/2]
def mode(self):
self.array = sorted(self.array)
return self.array[len(self.array) - 1]
def main():
array = [ 1, 3, 4, 2, 7, 5, 8, 6 ]
print array
s = Statistics(array)
print "Mean : " + str(s.mean())
print "Median : " + str(s.median())
print "Mode : " + str(s.mode())
if __name__ == "__main__":
main()