From 3cbbb97ca158c12d55989c561172ecb349bf7df7 Mon Sep 17 00:00:00 2001 From: YYDW-i <3438835284@qq.com> Date: Wed, 21 Oct 2026 23:18:18 +0800 Subject: [PATCH 1/2] Validate SMA window size type --- financial/simple_moving_average.py | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/financial/simple_moving_average.py b/financial/simple_moving_average.py index f5ae444fd027..e1523bf7cff6 100644 --- a/financial/simple_moving_average.py +++ b/financial/simple_moving_average.py @@ -30,7 +30,14 @@ def simple_moving_average( Traceback (most recent call last): ... ValueError: Window size must be a positive integer + >>> simple_moving_average([10, 12, 15], 2.5) + Traceback (most recent call last): + ... + TypeError: Window size must be a positive integer """ + if not isinstance(window_size, int) or isinstance(window_size, bool): + raise TypeError("Window size must be a positive integer") + if window_size < 1: raise ValueError("Window size must be a positive integer") From 92c4b53700e0de90c24d18c5168a0f3160237aa0 Mon Sep 17 00:00:00 2001 From: YYDW-i <3438835284@qq.com> Date: Wed, 21 Oct 2026 23:25:11 +0800 Subject: [PATCH 2/2] Fix type check for window_size in SMA function --- financial/simple_moving_average.py | 1 - 1 file changed, 1 deletion(-) diff --git a/financial/simple_moving_average.py b/financial/simple_moving_average.py index e1523bf7cff6..35451efae751 100644 --- a/financial/simple_moving_average.py +++ b/financial/simple_moving_average.py @@ -37,7 +37,6 @@ def simple_moving_average( """ if not isinstance(window_size, int) or isinstance(window_size, bool): raise TypeError("Window size must be a positive integer") - if window_size < 1: raise ValueError("Window size must be a positive integer")