From 9ff7d9161ee6c3abbb6aa00fc0fdc206e7c78637 Mon Sep 17 00:00:00 2001 From: zimmersandro Date: Tue, 17 Mar 2026 18:03:24 +0100 Subject: [PATCH] feat: kata snail now has function, which rearanges list based on kata rules. Pre test commit, may still be incorrect --- src/codewars/kata_snail.py | 86 ++++++++++++++++++++++++++++++++++++-- 1 file changed, 82 insertions(+), 4 deletions(-) diff --git a/src/codewars/kata_snail.py b/src/codewars/kata_snail.py index b151962..47fd633 100644 --- a/src/codewars/kata_snail.py +++ b/src/codewars/kata_snail.py @@ -1,10 +1,88 @@ def snail(snail_map): - snail = [] - snail.append(snail_map[0]) + snail = [x for x in snail_map[0]] snail_map.pop(0) - print(snail) - return snail_map + + guardrail = 100 + + while len(snail_map) > 0 and guardrail > 0: + guardrail -= 1 + + snail_map = [list(reversed(x)) for x in snail_map] + snail_map = [list(row) for row in zip(*snail_map)] + + [snail.append(x) for x in snail_map[0]] + snail_map.pop(0) + + return snail array = [[1, 2, 3], [4, 5, 6], [7, 8, 9]] +array = [[1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12], [13, 14, 15, 16]] print(snail(array)) + +""" +Konzept: +Ziel: 1 2 3 6 9 8 7 4 5 + +1 2 3 +4 5 6 +7 8 9 + +1 2 3 + +4 5 6 +7 8 9 + +6 9 +5 8 +4 7 + +1 2 3 6 9 + +5 8 +4 7 + +8 7 +5 4 + +1 2 3 6 9 8 7 + +5 4 + +4 +5 + +1 2 3 6 9 8 7 4 + +5 + +1 2 3 6 9 8 7 4 5 + + +Ziel: 1 2 3 4 8 12 16 15 14 13 9 5 6 7 11 10 + +1 2 3 4 +5 6 7 8 +9 10 11 12 +13 14 15 16 + +1 2 3 4 + +5 6 7 8 +9 10 11 12 +13 14 15 16 + +8 12 16 +7 11 15 +6 10 14 +5 9 13 + +1 2 3 4 8 12 16 + +7 11 15 +6 10 14 +5 9 13 + +... + +"""