modul:archiv:m319python:learningunits:lu10:loesungen:ggt_logikfehler

LU10.L03: Runtime & Debugger

Test Expected Actual
test_1 15 0
test_2 0 0
test_3 11 0

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.

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))
...

Wieso wird das Resultat von test_2 immer noch als falsch angezeigt?


Marcel Suter

  • modul/archiv/m319python/learningunits/lu10/loesungen/ggt_logikfehler.txt
  • Zuletzt geändert: 2024/03/28 14:07
  • von 127.0.0.1