From ef2072a1e2701ff3bf65645691c2c2c8828e07e0 Mon Sep 17 00:00:00 2001 From: studentpiyush Date: Tue, 14 Oct 2025 15:20:53 +0530 Subject: [PATCH 1/3] Add moving average algorithm (math/moving_average.py) --- maths/moving_average.py | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 maths/moving_average.py diff --git a/maths/moving_average.py b/maths/moving_average.py new file mode 100644 index 000000000000..e69de29bb2d1 From 28399f5f1f201701e47c0f939d374fd0062e4c2d Mon Sep 17 00:00:00 2001 From: studentpiyush Date: Tue, 14 Oct 2025 15:22:07 +0530 Subject: [PATCH 2/3] Add moving average algorithm (math/moving_average.py) --- maths/moving_average.py | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/maths/moving_average.py b/maths/moving_average.py index e69de29bb2d1..1aa502567e98 100644 --- a/maths/moving_average.py +++ b/maths/moving_average.py @@ -0,0 +1,18 @@ +from typing import List + +def moving_average(values: List[float], window: int) -> List[float]: + """ + Compute the moving average of a list of numbers with a given window size. + + >>> moving_average([1, 2, 3, 4, 5], 2) + [1.5, 2.5, 3.5, 4.5] + >>> moving_average([10, 20, 30], 3) + [20.0] + >>> moving_average([1, 2], 3) + Traceback (most recent call last): + ... + ValueError: Window size cannot be larger than list length. + """ + if window > len(values): + raise ValueError("Window size cannot be larger than list length.") + return [sum(values[i:i+window]) / window for i in range(len(values)-window+1)] From 30d6e6aa25233b7713b69a14947e5d4e9fe9d63c Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Tue, 14 Oct 2025 10:07:24 +0000 Subject: [PATCH 3/3] [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci --- maths/moving_average.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/maths/moving_average.py b/maths/moving_average.py index 1aa502567e98..0d67b2dcabdc 100644 --- a/maths/moving_average.py +++ b/maths/moving_average.py @@ -1,5 +1,6 @@ from typing import List + def moving_average(values: List[float], window: int) -> List[float]: """ Compute the moving average of a list of numbers with a given window size. @@ -15,4 +16,6 @@ def moving_average(values: List[float], window: int) -> List[float]: """ if window > len(values): raise ValueError("Window size cannot be larger than list length.") - return [sum(values[i:i+window]) / window for i in range(len(values)-window+1)] + return [ + sum(values[i : i + window]) / window for i in range(len(values) - window + 1) + ]