From 16321a1f154793689cce5dadc63c9ce2290db145 Mon Sep 17 00:00:00 2001 From: Arda Korkmaz <143834039+Ardakorkmaz0@users.noreply.github.com> Date: Mon, 30 Mar 2026 11:41:01 +0300 Subject: [PATCH 1/3] Add shifted function to calculate percentage difference --- Week03/shifted_arda_korkmaz.py | 12 ++++++++++++ 1 file changed, 12 insertions(+) create mode 100644 Week03/shifted_arda_korkmaz.py diff --git a/Week03/shifted_arda_korkmaz.py b/Week03/shifted_arda_korkmaz.py new file mode 100644 index 00000000..e569cb65 --- /dev/null +++ b/Week03/shifted_arda_korkmaz.py @@ -0,0 +1,12 @@ +def shifted(data): + if not data: return 0.0 + n = len(data) + mean = sum(data) / n + s = sorted(data) + mid = n // 2 + if n % 2 == 0: + median = (s[mid - 1] + s[mid]) / 2 + else: + median = s[mid] + if median == 0: return 0.0 + return ((mean - median) / median) * 100 From a65f5ff1cafcbf09f0a1310bec39360ea5e6fbd0 Mon Sep 17 00:00:00 2001 From: Arda Korkmaz <143834039+Ardakorkmaz0@users.noreply.github.com> Date: Mon, 30 Mar 2026 11:43:46 +0300 Subject: [PATCH 2/3] Refactor shifted function for median calculation --- Week03/shifted_arda_korkmaz.py | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/Week03/shifted_arda_korkmaz.py b/Week03/shifted_arda_korkmaz.py index e569cb65..e8366e00 100644 --- a/Week03/shifted_arda_korkmaz.py +++ b/Week03/shifted_arda_korkmaz.py @@ -1,12 +1,9 @@ def shifted(data): - if not data: return 0.0 n = len(data) + if n == 0: return 0.0 mean = sum(data) / n s = sorted(data) mid = n // 2 - if n % 2 == 0: - median = (s[mid - 1] + s[mid]) / 2 - else: - median = s[mid] - if median == 0: return 0.0 - return ((mean - median) / median) * 100 + res = (s[mid-1] + s[mid]) / 2 if n % 2 == 0 else s[mid] + if res == 0: return 0.0 + return abs((mean - res) / res) * 100 From 8b40d31f2024dd3547279ae6df05900e0b853642 Mon Sep 17 00:00:00 2001 From: Arda Korkmaz <143834039+Ardakorkmaz0@users.noreply.github.com> Date: Mon, 30 Mar 2026 11:45:45 +0300 Subject: [PATCH 3/3] Fix median calculation and zero check in function --- Week03/shifted_arda_korkmaz.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Week03/shifted_arda_korkmaz.py b/Week03/shifted_arda_korkmaz.py index e8366e00..f4b32066 100644 --- a/Week03/shifted_arda_korkmaz.py +++ b/Week03/shifted_arda_korkmaz.py @@ -4,6 +4,6 @@ def shifted(data): mean = sum(data) / n s = sorted(data) mid = n // 2 - res = (s[mid-1] + s[mid]) / 2 if n % 2 == 0 else s[mid] - if res == 0: return 0.0 - return abs((mean - res) / res) * 100 + med = (s[mid-1] + s[mid]) / 2 if n % 2 == 0 else s[mid] + if mean == 0: return 0.0 + return abs((mean - med) / mean) * 100