# -*- coding: utf-8 -*-
"""
Created on Thu Dec 16 08:20:25 2021

@author: Sim
"""
class MyStats:
    
  def __init__(self, xx):
      self.xx = xx.sort()
      self.xx = xx
      self.n = len(xx)
         
  def sum2p(self, p):
     res = 0
     for x in self.xx:
        res = res + x ** p
     return res

  def iseven(self):
     if self.n % 2 == 0: return True
     else: return False

  def mymed(self):
     n = self.n
     if self.iseven():
       median = ( self.xx[int(n/2-1)] + self.xx[int(n/2)] ) /2
     else:
       median = self.xx[int((n-1)/2)]
     return median

if __name__ == '__main__':
   x1 = list(range(2,21,2))
   x1 = list(range(3, 100, 3))
   x1 = [1,3,4,2,2,4,5,6,10,11,32,22,9,8,7,20,30,25,15]
   a = MyStats(x1)
   n = a.n
   ave = a.sum2p(1)/n
   var = (a.sum2p(2)-n*ave**2)/(n-1)
   med = a.mymed()
   even = a.iseven()
   print(n, ave, var, med, even)


