#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'