From 7a0df50e6a413cbdfb4bc3ff63a5339e861a3119 Mon Sep 17 00:00:00 2001 From: yagizcngz Date: Thu, 12 Mar 2026 15:41:57 +0300 Subject: [PATCH 1/9] Add files via upload --- Week02/weighted_Yagiz_Cengiz.py | 10 ++++++++++ 1 file changed, 10 insertions(+) create mode 100644 Week02/weighted_Yagiz_Cengiz.py diff --git a/Week02/weighted_Yagiz_Cengiz.py b/Week02/weighted_Yagiz_Cengiz.py new file mode 100644 index 00000000..6803c7bc --- /dev/null +++ b/Week02/weighted_Yagiz_Cengiz.py @@ -0,0 +1,10 @@ +import random +def weighted_srs(data, n, weights, with_replacement): + if with_replacement: return random.choices(population=data, weights=weights, k=n) + result, data2, weight2 = [], list(data), list(weights) + for _ in range(n): + pick = random.choices(data2, weights=weight2, k=1)[0] + index = data2.index(pick) + result.append(data2.pop(index)) + weight2.pop(index) + return result \ No newline at end of file From 917ac851e997a1e020dc563933ffd47bd35d1ec1 Mon Sep 17 00:00:00 2001 From: yagizcngz Date: Fri, 13 Mar 2026 10:30:57 +0300 Subject: [PATCH 2/9] Update weighted_Yagiz_Cengiz.py --- Week02/weighted_Yagiz_Cengiz.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/Week02/weighted_Yagiz_Cengiz.py b/Week02/weighted_Yagiz_Cengiz.py index 6803c7bc..36808a69 100644 --- a/Week02/weighted_Yagiz_Cengiz.py +++ b/Week02/weighted_Yagiz_Cengiz.py @@ -1,5 +1,5 @@ import random -def weighted_srs(data, n, weights, with_replacement): +def weighted_srs(data, n, weights, with_replacement = False): if with_replacement: return random.choices(population=data, weights=weights, k=n) result, data2, weight2 = [], list(data), list(weights) for _ in range(n): @@ -7,4 +7,5 @@ def weighted_srs(data, n, weights, with_replacement): index = data2.index(pick) result.append(data2.pop(index)) weight2.pop(index) - return result \ No newline at end of file + + return result From 5a20e1d8cc9058b65fc7e415efbf2d04bc0a1ac8 Mon Sep 17 00:00:00 2001 From: yagizcngz Date: Fri, 27 Mar 2026 10:55:18 +0300 Subject: [PATCH 3/9] Update weighted_Yagiz_Cengiz.py --- Week02/weighted_Yagiz_Cengiz.py | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/Week02/weighted_Yagiz_Cengiz.py b/Week02/weighted_Yagiz_Cengiz.py index 36808a69..a6b0e030 100644 --- a/Week02/weighted_Yagiz_Cengiz.py +++ b/Week02/weighted_Yagiz_Cengiz.py @@ -1,11 +1,9 @@ import random -def weighted_srs(data, n, weights, with_replacement = False): - if with_replacement: return random.choices(population=data, weights=weights, k=n) - result, data2, weight2 = [], list(data), list(weights) +def weighted_srs(data, n, weights=None, with_replacement=False): + if not weights: return random.choices(data, k=n) if with_replacement else random.sample(data, n) + if with_replacement: return random.choices(data, weights=weights, k=n) + d, w, res = list(data), list(weights), [] for _ in range(n): - pick = random.choices(data2, weights=weight2, k=1)[0] - index = data2.index(pick) - result.append(data2.pop(index)) - weight2.pop(index) - - return result + i = random.choices(range(len(d)), weights=w, k=1)[0] + res.append(d.pop(i)); w.pop(i) + return res From a420c0af9e52b38ccf760fd6b49085c3954e0c8d Mon Sep 17 00:00:00 2001 From: yagizcngz Date: Wed, 13 May 2026 17:38:00 +0300 Subject: [PATCH 4/9] Create shifted_yagiz_cengiz.py --- shifted_yagiz_cengiz.py | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 shifted_yagiz_cengiz.py diff --git a/shifted_yagiz_cengiz.py b/shifted_yagiz_cengiz.py new file mode 100644 index 00000000..c4484044 --- /dev/null +++ b/shifted_yagiz_cengiz.py @@ -0,0 +1,6 @@ +def shifted(data): + if not data: return 0 + n, s = len(data), sorted(data) + mean = sum(data) / n + median = s[n // 2] if n % 2 != 0 else (s[n // 2 - 1] + s[n // 2]) / 2 + return (abs(mean - median) / abs(mean)) * 100 if mean != 0 else 0 From 65df8b67c2a5eb1a78054cd7dc7b1244e55119cc Mon Sep 17 00:00:00 2001 From: yagizcngz Date: Wed, 13 May 2026 17:38:22 +0300 Subject: [PATCH 5/9] Delete shifted_yagiz_cengiz.py --- shifted_yagiz_cengiz.py | 6 ------ 1 file changed, 6 deletions(-) delete mode 100644 shifted_yagiz_cengiz.py diff --git a/shifted_yagiz_cengiz.py b/shifted_yagiz_cengiz.py deleted file mode 100644 index c4484044..00000000 --- a/shifted_yagiz_cengiz.py +++ /dev/null @@ -1,6 +0,0 @@ -def shifted(data): - if not data: return 0 - n, s = len(data), sorted(data) - mean = sum(data) / n - median = s[n // 2] if n % 2 != 0 else (s[n // 2 - 1] + s[n // 2]) / 2 - return (abs(mean - median) / abs(mean)) * 100 if mean != 0 else 0 From 095277c701f13c06d47a6c0214634e5bdf8bf2a1 Mon Sep 17 00:00:00 2001 From: yagizcngz Date: Wed, 13 May 2026 17:39:34 +0300 Subject: [PATCH 6/9] Create shifted_yagiz_cengiz.py --- Week03/shifted_yagiz_cengiz.py | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 Week03/shifted_yagiz_cengiz.py diff --git a/Week03/shifted_yagiz_cengiz.py b/Week03/shifted_yagiz_cengiz.py new file mode 100644 index 00000000..c4484044 --- /dev/null +++ b/Week03/shifted_yagiz_cengiz.py @@ -0,0 +1,6 @@ +def shifted(data): + if not data: return 0 + n, s = len(data), sorted(data) + mean = sum(data) / n + median = s[n // 2] if n % 2 != 0 else (s[n // 2 - 1] + s[n // 2]) / 2 + return (abs(mean - median) / abs(mean)) * 100 if mean != 0 else 0 From 39b230ab19571cd7326c7f360d320d8cae398e82 Mon Sep 17 00:00:00 2001 From: yagizcngz Date: Wed, 13 May 2026 17:43:37 +0300 Subject: [PATCH 7/9] Delete Week03/shifted_yagiz_cengiz.py --- Week03/shifted_yagiz_cengiz.py | 6 ------ 1 file changed, 6 deletions(-) delete mode 100644 Week03/shifted_yagiz_cengiz.py diff --git a/Week03/shifted_yagiz_cengiz.py b/Week03/shifted_yagiz_cengiz.py deleted file mode 100644 index c4484044..00000000 --- a/Week03/shifted_yagiz_cengiz.py +++ /dev/null @@ -1,6 +0,0 @@ -def shifted(data): - if not data: return 0 - n, s = len(data), sorted(data) - mean = sum(data) / n - median = s[n // 2] if n % 2 != 0 else (s[n // 2 - 1] + s[n // 2]) / 2 - return (abs(mean - median) / abs(mean)) * 100 if mean != 0 else 0 From 0eda9db7a1abc911fc7f7dfc89f7bb4946d22d76 Mon Sep 17 00:00:00 2001 From: yagizcngz Date: Wed, 13 May 2026 17:44:46 +0300 Subject: [PATCH 8/9] Update weighted_Yagiz_Cengiz.py --- Week02/weighted_Yagiz_Cengiz.py | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/Week02/weighted_Yagiz_Cengiz.py b/Week02/weighted_Yagiz_Cengiz.py index a6b0e030..c5b4247f 100644 --- a/Week02/weighted_Yagiz_Cengiz.py +++ b/Week02/weighted_Yagiz_Cengiz.py @@ -1,9 +1,7 @@ import random -def weighted_srs(data, n, weights=None, with_replacement=False): - if not weights: return random.choices(data, k=n) if with_replacement else random.sample(data, n) - if with_replacement: return random.choices(data, weights=weights, k=n) - d, w, res = list(data), list(weights), [] - for _ in range(n): - i = random.choices(range(len(d)), weights=w, k=1)[0] - res.append(d.pop(i)); w.pop(i) - return res + +def weighted_srs(data, n, weights, with_replacement=False): + use_choices = bool(with_replacement or weights) + if use_choices: + return random.choices(data, weights=weights, k=n) + return random.sample(data, n) From 1e222e71456cbcedf240cfe7cbabe2b742f666a4 Mon Sep 17 00:00:00 2001 From: yagizcngz Date: Wed, 13 May 2026 17:47:21 +0300 Subject: [PATCH 9/9] Create shifted_Yagiz_Cengiz.py --- Week03/shifted_Yagiz_Cengiz.py | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 Week03/shifted_Yagiz_Cengiz.py diff --git a/Week03/shifted_Yagiz_Cengiz.py b/Week03/shifted_Yagiz_Cengiz.py new file mode 100644 index 00000000..c4484044 --- /dev/null +++ b/Week03/shifted_Yagiz_Cengiz.py @@ -0,0 +1,6 @@ +def shifted(data): + if not data: return 0 + n, s = len(data), sorted(data) + mean = sum(data) / n + median = s[n // 2] if n % 2 != 0 else (s[n // 2 - 1] + s[n // 2]) / 2 + return (abs(mean - median) / abs(mean)) * 100 if mean != 0 else 0