# -*- coding: utf-8 -*-
"""
Created on Wed Dec 15 17:14:45 2021

@author: Sim
"""
def sum2p(data, p):
   res = 0
   for x in data:
      res = res + x ** p
   return res, len(data)

def iseven(n):
   if n % 2 == 0: return True
   else: return False

def mymed(data):
   data.sort()
   n = len(data)
   if iseven(n):
     median = ( data[int(n/2-1)] + data[int(n/2)] ) /2
   else:
     median = data[int((n-1)/2)]
   return median
   

x1 = list(range(2,21,2))
x2 = list(range(3, 100, 3))

sum1, n1 = sum2p(x1,1) 
sum2, n2 = sum2p(x2,1)
ave1 = sum1/n1
ave2 = sum2/n2
print('평균: ', ave1, ave2)
print('중앙값: ', mymed(x1), mymed(x2))  

var1 = (sum2p(x1,2)[0] - n1*ave1 **2 ) / (n1-1)
var2 = (sum2p(x2,2)[0] - n2*ave2 **2 ) / (n2-1)
print('분산: ', var1, var2)