Setzen Sie einen Breakpoint auf start()
und bewegen Sie sich mit dem Debugger durch die Funktionen bis Sie auf print("du hast es geschafft!")
sind.
Nicht Cheaten! Benutzen Sie keine weiteren Breakpoints oder Sprünge mit dem Cursor.
Auf der linken Seite vom Debugger können Sie verfolgen in welcher Funktion Sie gerade sind.
Das “Console” Fenster kann vom “Debugger” Fenster weg gezogen werden, damit man beide Tabs sieht. So können Sie die Text-Ausgaben verfolgen.
def start():
for i in range(15, 0, -2):
alle_wege_fuehren_nach_rom(i)
def london():
for j in range(100):
print("Immer gerade aus!")
def alle_wege_fuehren_nach_rom(x: int):
if x > 10:
london()
print("Verdammt. Verlaufen.")
for i in range(30, 0, -1):
print(f"Und zurück. (Noch {i} km.)")
else:
print("Rom!")
noch_ein_stueck()
def bonn():
# Zwar nicht Rom aber trotzdem das richtig Ziel #ZoroStyle
print("du hast es geschafft!")
print("upsi vorbei gelaufen")
def umweg():
print("Huch wie sind wir denn hier gelandet.")
def noch_ein_stueck():
for i in range(10):
print("Wie weit ist es noch?")
print(f"Wir sind in {10-i} minuten da.")
umweg()
bonn()
start()
Finden Sie heraus was diese Funktion macht indem Sie den Debugger benutzen:
def func(n: int):
if n == 0:
return 0
return n + func(n-1)
Wenn eine Funktion sich selbst aufruft, nennt man das Rekursion. Eine Rekursion brauch immer einen Ankerpunkt:
if n == 0:
return 0
Ansonsten läuft die Funktion unendlich weiter. Probieren Sie es gerne aus, indem Sie den oberen Part mit print(n)
ersetzen.
Gehen Sie mit dem Debugger in den letzten Funktionsaufruf von func(100)
.
Schauen Sie sich den Programmcode von einer Standardfunktion an:
from random import randint
randint(5, 10)
Im Menü vom Debugger befinden sich oben in der Leiste blaue Pfeile. Probieren Sie aus was die Pfeile tun.
Was tun die blauen Symbole von rechts nach links: