From 63528687fd94e9123ed2e90b0505077a737a001d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ahmet=20Hakan=20Y=C4=B1ld=C4=B1r=C4=B1m?= Date: Tue, 27 Oct 2026 12:03:42 +0300 Subject: [PATCH 1/4] Add function to calculate pyramid height from blocks --- Week03/Week03/pyramid_ahmet_hakan_yildirim.py | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 Week03/Week03/pyramid_ahmet_hakan_yildirim.py diff --git a/Week03/Week03/pyramid_ahmet_hakan_yildirim.py b/Week03/Week03/pyramid_ahmet_hakan_yildirim.py new file mode 100644 index 00000000..e936626e --- /dev/null +++ b/Week03/Week03/pyramid_ahmet_hakan_yildirim.py @@ -0,0 +1,2 @@ +def calculate_pyramid_height(number_of_blocks): + return int(((-1 + (1 + 8 * number_of_blocks) ** 0.5) / 2)) From 4b1f3453afb38a81ecae30ba44da271e16b41549 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ahmet=20Hakan=20Y=C4=B1ld=C4=B1r=C4=B1m?= Date: Mon, 2 Nov 2026 12:20:03 +0300 Subject: [PATCH 2/4] Delete Week03/Week03/pyramid_ahmet_hakan_yildirim.py --- Week03/Week03/pyramid_ahmet_hakan_yildirim.py | 2 -- 1 file changed, 2 deletions(-) delete mode 100644 Week03/Week03/pyramid_ahmet_hakan_yildirim.py diff --git a/Week03/Week03/pyramid_ahmet_hakan_yildirim.py b/Week03/Week03/pyramid_ahmet_hakan_yildirim.py deleted file mode 100644 index e936626e..00000000 --- a/Week03/Week03/pyramid_ahmet_hakan_yildirim.py +++ /dev/null @@ -1,2 +0,0 @@ -def calculate_pyramid_height(number_of_blocks): - return int(((-1 + (1 + 8 * number_of_blocks) ** 0.5) / 2)) From a6c74cd7f3ab3d336bb4fdfd309b56531d9184dd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ahmet=20Hakan=20Y=C4=B1ld=C4=B1r=C4=B1m?= Date: Mon, 2 Nov 2026 12:22:47 +0300 Subject: [PATCH 3/4] Add function to calculate pyramid height from blocks --- Week03/pyramid_ahmet_hakan_yildirim.py | 10 ++++++++++ 1 file changed, 10 insertions(+) create mode 100644 Week03/pyramid_ahmet_hakan_yildirim.py diff --git a/Week03/pyramid_ahmet_hakan_yildirim.py b/Week03/pyramid_ahmet_hakan_yildirim.py new file mode 100644 index 00000000..d1747ea6 --- /dev/null +++ b/Week03/pyramid_ahmet_hakan_yildirim.py @@ -0,0 +1,10 @@ +def calculate_pyramid_height(number_of_blocks): + total = 0 + height = 0 + for i in range(1, number_of_blocks + 1): + total += i + if total > number_of_blocks: + break + else: + height = i + return height From 87b14e9f9970e91301f4ba7c698977125bb6f723 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ahmet=20Hakan=20Y=C4=B1ld=C4=B1r=C4=B1m?= Date: Mon, 2 Nov 2026 12:23:47 +0300 Subject: [PATCH 4/4] Implement utility functions for sequences and dictionaries Added functions to remove duplicates, count items, and reverse a dictionary. --- Week03/sequences_ahmet_hakan_yildirim.py | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 Week03/sequences_ahmet_hakan_yildirim.py diff --git a/Week03/sequences_ahmet_hakan_yildirim.py b/Week03/sequences_ahmet_hakan_yildirim.py new file mode 100644 index 00000000..fb239ae6 --- /dev/null +++ b/Week03/sequences_ahmet_hakan_yildirim.py @@ -0,0 +1,23 @@ +def remove_duplicates(seq: list) -> list: + seen = set() + result = [] + for item in seq: + if item not in seen: + seen.add(item) + result.append(item) + return result + +def list_counts(seq: list) -> dict: + result = {} + for item in seq: + if item in result: + result[item] += 1 + else: + result[item] = 1 + return result + +def reverse_dict(d: dict) -> dict: + reversed_d = {} + for key, value in d.items(): + reversed_d[value] = key + return reversed_d