Im ersten Fall hab ich eine "Vertauschung" drin:
a, b = b, a
Ich weiß, dass da nichts vertauscht wird, sondern die Variablen a und b neu erstellt werden.
Code: Alles auswählen
def ggT(a,b):
if a == b:
return a
if a > b:
a,b = b,a
return ggT(a,b-a)
Anstatt zu "Vertauschen" wird ggT einfach mit vertauschten Werten aufgerufen. D.h. ich mach eine Rekursion mehr, bis ich zu dem Schritt komme, den ich gleich nach der "Vertauschung" im obigen Beispiel habe.
Code: Alles auswählen
def ggT(a,b):
if a == b:
return a
if a > b:
return(b, a)
return ggT(a, b-a)