From 506d233dd8dc3d074a95d68c917f693507a2b8df Mon Sep 17 00:00:00 2001 From: denizumut1 Date: Tue, 2 Jun 2026 22:08:09 +0300 Subject: [PATCH 1/8] Create weighted_denizumut_sagiroglu.py --- Week02/weighted_denizumut_sagiroglu.py | 10 ++++++++++ 1 file changed, 10 insertions(+) create mode 100644 Week02/weighted_denizumut_sagiroglu.py diff --git a/Week02/weighted_denizumut_sagiroglu.py b/Week02/weighted_denizumut_sagiroglu.py new file mode 100644 index 00000000..a6df0362 --- /dev/null +++ b/Week02/weighted_denizumut_sagiroglu.py @@ -0,0 +1,10 @@ +import random +def weighted_srs(data, n, weights, with_replacement): + if with_replacement: + return random.choices(data, weights=weights, k=n) + pool_d, pool_w, sample = list(data), list(weights), [] + for _ in range(n): + i = random.choices(range(len(pool_d)), weights=pool_w, k=1)[0] + sample.append(pool_d.pop(i)) + pool_w.pop(i) + return sample From be8ce5130a9ee1d4d2ff9a217866a4f45a2dcfaf Mon Sep 17 00:00:00 2001 From: denizumut1 Date: Tue, 2 Jun 2026 22:15:36 +0300 Subject: [PATCH 2/8] Update weighted_denizumut_sagiroglu.py --- Week02/weighted_denizumut_sagiroglu.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Week02/weighted_denizumut_sagiroglu.py b/Week02/weighted_denizumut_sagiroglu.py index a6df0362..bb288dfa 100644 --- a/Week02/weighted_denizumut_sagiroglu.py +++ b/Week02/weighted_denizumut_sagiroglu.py @@ -1,5 +1,5 @@ import random -def weighted_srs(data, n, weights, with_replacement): +def weighted_srs(data, n, weights, *, with_replacement): if with_replacement: return random.choices(data, weights=weights, k=n) pool_d, pool_w, sample = list(data), list(weights), [] From 6f4d314d6882cbd168773c9e0926be2f1c5309d8 Mon Sep 17 00:00:00 2001 From: denizumut1 Date: Tue, 2 Jun 2026 22:25:04 +0300 Subject: [PATCH 3/8] Update weighted_denizumut_sagiroglu.py --- Week02/weighted_denizumut_sagiroglu.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Week02/weighted_denizumut_sagiroglu.py b/Week02/weighted_denizumut_sagiroglu.py index bb288dfa..5e23f08c 100644 --- a/Week02/weighted_denizumut_sagiroglu.py +++ b/Week02/weighted_denizumut_sagiroglu.py @@ -1,10 +1,10 @@ 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(data, weights=weights, k=n) pool_d, pool_w, sample = list(data), list(weights), [] for _ in range(n): - i = random.choices(range(len(pool_d)), weights=pool_w, k=1)[0] + i = random.choices(range(len(pool_d)), weights=pool_w, k=1) [0] sample.append(pool_d.pop(i)) pool_w.pop(i) return sample From b8a621262491b87e61762864ed8e18266f695989 Mon Sep 17 00:00:00 2001 From: denizumut1 Date: Tue, 2 Jun 2026 22:26:34 +0300 Subject: [PATCH 4/8] Update weighted_denizumut_sagiroglu.py --- Week02/weighted_denizumut_sagiroglu.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Week02/weighted_denizumut_sagiroglu.py b/Week02/weighted_denizumut_sagiroglu.py index 5e23f08c..0d4b2919 100644 --- a/Week02/weighted_denizumut_sagiroglu.py +++ b/Week02/weighted_denizumut_sagiroglu.py @@ -1,5 +1,5 @@ import random -def weighted_srs(data, n, weights, with_replacement=false): +def weighted_srs(data, n, weights, with_replacement=False): if with_replacement: return random.choices(data, weights=weights, k=n) pool_d, pool_w, sample = list(data), list(weights), [] From dc7587fa0d101a71b41b42a370e32be7253544b4 Mon Sep 17 00:00:00 2001 From: denizumut1 Date: Tue, 2 Jun 2026 22:28:12 +0300 Subject: [PATCH 5/8] Update weighted_denizumut_sagiroglu.py --- Week02/weighted_denizumut_sagiroglu.py | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/Week02/weighted_denizumut_sagiroglu.py b/Week02/weighted_denizumut_sagiroglu.py index 0d4b2919..7461f9d7 100644 --- a/Week02/weighted_denizumut_sagiroglu.py +++ b/Week02/weighted_denizumut_sagiroglu.py @@ -4,7 +4,6 @@ def weighted_srs(data, n, weights, with_replacement=False): return random.choices(data, weights=weights, k=n) pool_d, pool_w, sample = list(data), list(weights), [] for _ in range(n): - i = random.choices(range(len(pool_d)), weights=pool_w, k=1) [0] - sample.append(pool_d.pop(i)) - pool_w.pop(i) + i = random.choices(range(len(pool_d)), weights=pool_w, k=1)[0] + sample.append(pool_d.pop(i)); pool_w.pop(i) return sample From ec617c5955fa10ca2bf5af9cf896edad2e14eb1b Mon Sep 17 00:00:00 2001 From: denizumut1 Date: Tue, 2 Jun 2026 22:30:29 +0300 Subject: [PATCH 6/8] Update weighted_denizumut_sagiroglu.py --- Week02/weighted_denizumut_sagiroglu.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Week02/weighted_denizumut_sagiroglu.py b/Week02/weighted_denizumut_sagiroglu.py index 7461f9d7..fa8b6f57 100644 --- a/Week02/weighted_denizumut_sagiroglu.py +++ b/Week02/weighted_denizumut_sagiroglu.py @@ -1,8 +1,8 @@ import random -def weighted_srs(data, n, weights, with_replacement=False): +def weighted_srs(data, n, weights=None, with_replacement=False): if with_replacement: return random.choices(data, weights=weights, k=n) - pool_d, pool_w, sample = list(data), list(weights), [] + pool_d, pool_w, sample = list(data), list(weights) if weights else [1]*len(data), [] for _ in range(n): i = random.choices(range(len(pool_d)), weights=pool_w, k=1)[0] sample.append(pool_d.pop(i)); pool_w.pop(i) From 9e35a70f40e5275c7d72ac8f38cfaa4b96d19170 Mon Sep 17 00:00:00 2001 From: denizumut1 Date: Tue, 2 Jun 2026 22:32:23 +0300 Subject: [PATCH 7/8] Update weighted_denizumut_sagiroglu.py --- Week02/weighted_denizumut_sagiroglu.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Week02/weighted_denizumut_sagiroglu.py b/Week02/weighted_denizumut_sagiroglu.py index fa8b6f57..62b17a18 100644 --- a/Week02/weighted_denizumut_sagiroglu.py +++ b/Week02/weighted_denizumut_sagiroglu.py @@ -1,5 +1,5 @@ import random -def weighted_srs(data, n, weights=None, with_replacement=False): +def weighted_srs(data, n, weights, with_replacement=True): if with_replacement: return random.choices(data, weights=weights, k=n) pool_d, pool_w, sample = list(data), list(weights) if weights else [1]*len(data), [] From b8d7cbe60c8f8c78da92cbd6168cfe530e475854 Mon Sep 17 00:00:00 2001 From: denizumut1 Date: Tue, 2 Jun 2026 22:34:10 +0300 Subject: [PATCH 8/8] Update weighted_denizumut_sagiroglu.py --- Week02/weighted_denizumut_sagiroglu.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Week02/weighted_denizumut_sagiroglu.py b/Week02/weighted_denizumut_sagiroglu.py index 62b17a18..29692259 100644 --- a/Week02/weighted_denizumut_sagiroglu.py +++ b/Week02/weighted_denizumut_sagiroglu.py @@ -1,8 +1,8 @@ import random -def weighted_srs(data, n, weights, with_replacement=True): - if with_replacement: +def weighted_srs(data, n, weights, with_replacement=False): + if with_replacement or weights: return random.choices(data, weights=weights, k=n) - pool_d, pool_w, sample = list(data), list(weights) if weights else [1]*len(data), [] + pool_d, pool_w, sample = list(data), [1]*len(data), [] for _ in range(n): i = random.choices(range(len(pool_d)), weights=pool_w, k=1)[0] sample.append(pool_d.pop(i)); pool_w.pop(i)