Untitled

 avatar
unknown
python
5 months ago
978 B
2
Indexable
from collections import deque

class XYBuffer:
    def __init__(self, max_size=50):
        self.x_values = deque(maxlen=max_size)
        self.y_values = deque(maxlen=max_size)

    def add_value(self, x, y):
        # Lägger till nya värden till bufferten
        self.x_values.append(x)
        self.y_values.append(y)

    def remove_oldest(self):
        # Tar bort det äldsta värdet om det finns något i dequen
        if self.x_values and self.y_values:
            self.x_values.popleft()
            self.y_values.popleft()

    def get_average(self, min_values=20):
        # Returnerar medelvärdet av de sparade x och y värdena om det finns minst 'min_values' antal
        if len(self.x_values) < min_values or len(self.y_values) < min_values:
            return None  # Returnerar inget om det finns för få värden

        avg_x = sum(self.x_values) / len(self.x_values)
        avg_y = sum(self.y_values) / len(self.y_values)

        return avg_x, avg_y
Editor is loading...