codewars snail #1

Open
Feusidiana wants to merge 4 commits from codewars into main
2 changed files with 66 additions and 1 deletions
Showing only changes of commit f9a90f3971 - Show all commits

View File

@ -1 +1,42 @@
# Kata https://www.codewars.com/kata/5324945e2ece5e1f32000370/train/python
#Kata https://www.codewars.com/kata/5324945e2ece5e1f32000370/train/python
def sum_strings(x, y):
new_x = x[::-1]
new_y = y[::-1]
res = []
carry = 0
# Schleife
""" Mittels i über die zahlen iterieren
checken ob i bei beiden zahlen die länge hat, ansonsten mittels 0 füllen"""
for i in range(max(len(new_x), len(new_y))):
if i < len(new_x):
digit_x = int(new_x[i])
else:
digit_x = 0
if i < len(new_y):
digit_y = int(new_y[i])
else:
digit_y = 0
# Berechne die Summe
""" carry wird für zahlen grösser 10 benutzt, damit es eine Zeile weiter gehen kann"""
total = digit_x + digit_y + carry
# Berechne den neuen carry und die Ziffer für das Ergebnis
"""carry berechnen, also was ist über 10.
mittels % wird nur der rest, also das unter 10 angehängt"""
carry = total // 10
res.append(str(total%10))
# Falls carry noch vorhanden ist
"""nach berechnung von x und y und carry noch übrig ist, wird dieses der liste angehängt"""
if carry > 0:
res.append(str(carry))
"""mittels join alles zusammen hängen und die zahlen reihenfolge wieder drehen, damit sie richtig herum stehen
mittels strip werden die angehängten null herausgestirchen, falls x und y ungleich lang sind"""
final_result = "".join(res[::-1])
return final_result.lstrip('0') or '0'

View File

@ -0,0 +1,24 @@
def snail(snail_map):
result = []
if not snail_map or not snail_map[0]:
return result
while snail_map:
result += snail_map.pop(0)
if snail_map and snail_map[0]:
for row in snail_map:
result.append(row.pop())
if snail_map:
result += snail_map.pop()[::-1]
if snail_map and snail_map[0]:
for row in reversed(snail_map):
result.append(row.pop(0))
return result
# https://www.codewars.com/kata/521c2db8ddc89b9b7a0000c1/train/python
# ich kam nicht selbstständig auf diese lösung. Könntes du mir diese erklären? ich dachte pop löscht.