2016-12-20 21:09:01 +00:00
|
|
|
|
|
|
|
class DataBuffer(object):
|
|
|
|
def __init__(self, length):
|
|
|
|
self.__max = length
|
|
|
|
self.__data = []
|
|
|
|
|
|
|
|
def push(self, element):
|
|
|
|
if self.__max == 0:
|
|
|
|
return False
|
|
|
|
if len(self.__data) == self.__max:
|
|
|
|
_ = self.__data.pop(0)
|
|
|
|
self.__data.append(element)
|
|
|
|
return True
|
|
|
|
|
|
|
|
def average(self):
|
|
|
|
if len(self.__data) != self.__max:
|
|
|
|
return None
|
2017-03-30 09:05:31 +00:00
|
|
|
return sum(self.__data) / len(self.__data)
|
2016-12-20 21:09:01 +00:00
|
|
|
|
|
|
|
def length(self):
|
|
|
|
return len(self.__data)
|
|
|
|
|
|
|
|
def clear(self):
|
|
|
|
self.__data = []
|