From a43d680c64edc4c9f8123bc5635a569ff43d376a Mon Sep 17 00:00:00 2001 From: MustAlfa Date: Wed, 1 Apr 2026 15:12:30 +0300 Subject: [PATCH 1/2] Create shifted_mustafa_uysal.py --- Week03/shifted_mustafa_uysal.py | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 Week03/shifted_mustafa_uysal.py diff --git a/Week03/shifted_mustafa_uysal.py b/Week03/shifted_mustafa_uysal.py new file mode 100644 index 00000000..6ca0f02f --- /dev/null +++ b/Week03/shifted_mustafa_uysal.py @@ -0,0 +1,25 @@ +def shifted(data): + n = len(data) + if n == 0: + return 0 + + # 1. average (Mean) calculation + mean = sum(data) / n + + # 2. Median calculation + sorted_data = sorted(data) + # if data is odd + if n % 2 == 1: + median = sorted_data[n // 2] + # id data is even + else: + median = (sorted_data[(n // 2) - 1] + sorted_data[n // 2]) / 2 + + # 3. Yüzdelik Fark (Percentage Difference) Hesaplama + # Mean ile Median arasındaki farkın, Mean'e göre yüzde kaçlık bir sapma yarattığını hesaplar. + if mean == 0: + return 0 # Sıfıra bölünme hatasını önlemek için + + percentage_difference = (abs(mean - median) / abs(mean)) * 100 + + return percentage_difference From c4b2646bdc36c7c953c493ca6d4f951d807025e6 Mon Sep 17 00:00:00 2001 From: MustAlfa Date: Fri, 3 Apr 2026 16:08:10 +0300 Subject: [PATCH 2/2] Update shifted_mustafa_uysal.py decreases cod line --- Week03/shifted_mustafa_uysal.py | 27 +++++---------------------- 1 file changed, 5 insertions(+), 22 deletions(-) diff --git a/Week03/shifted_mustafa_uysal.py b/Week03/shifted_mustafa_uysal.py index 6ca0f02f..3bd1e347 100644 --- a/Week03/shifted_mustafa_uysal.py +++ b/Week03/shifted_mustafa_uysal.py @@ -1,25 +1,8 @@ def shifted(data): n = len(data) - if n == 0: - return 0 - - # 1. average (Mean) calculation + if n == 0: return 0 mean = sum(data) / n - - # 2. Median calculation - sorted_data = sorted(data) - # if data is odd - if n % 2 == 1: - median = sorted_data[n // 2] - # id data is even - else: - median = (sorted_data[(n // 2) - 1] + sorted_data[n // 2]) / 2 - - # 3. Yüzdelik Fark (Percentage Difference) Hesaplama - # Mean ile Median arasındaki farkın, Mean'e göre yüzde kaçlık bir sapma yarattığını hesaplar. - if mean == 0: - return 0 # Sıfıra bölünme hatasını önlemek için - - percentage_difference = (abs(mean - median) / abs(mean)) * 100 - - return percentage_difference + s = sorted(data) + median = s[n // 2] if n % 2 == 1 else (s[(n // 2) - 1] + s[n // 2]) / 2 + if mean == 0: return 0 + return (abs(mean - median) / abs(mean)) * 100