LU08.L03: Logikfehler
Tests
Test | Expected | Actual |
---|---|---|
test_1 | 15 | 0 |
test_2 | 0 | 0 |
test_3 | 11 | 0 |
Debugger
Der Fehler muss innerhalb der Iteration liegen. Daher setze ich einen Breakpoint auf die Zeile 9 und verfolge den Ablauf.
Jedes mal wenn ich das Modulo neu berechne, halte ich die Werte für die Variablen fest:
Berechnung SOLL | modulo | first_number | second_number |
---|---|---|---|
8565 / 135 = 63 Rest 60 | 60 | 8565 | 135 |
135 / 60 = 2 Rest 15 | 0 | 60 | 60 |
Schon beim zweiten Schritt sehe ich ein Problem. Beide Variablen haben den gleichen Wert, weshalb immer GGT=0 herauskommt.
Korrektur
Offenbar habe ich die beiden Variablen first_number
und second_number
durcheinander gebracht.
Korrekt wäre:
... while second_number != 0: modulo = first_number % second_number first_number = second_number second_number = modulo print(str(first_number)) ...