Lädt...

Eine Funktion, die sich selbst aufruft

Jede Stufe gibt eine um 1 kleinere Zahl weiter, und der Name down steht dabei in down selbst. So schreibt down(3) zuerst 3, dann 2, dann 1.

Die Zeile if n == 0: return ist der Stopp. Ist n gleich 0, läuft diese Zeile, und down wird nicht noch einmal benutzt. Lässt du sie weg, hören die Stufen nicht auf, und das Programm endet nicht. Diese kaputte Form steht unten nicht.

3, dann 2, dann 1

python
def down(n):
    if n == 0:
        return
    print(n)
    down(n - 1)

down(3)

Auf dem Bildschirm steht 3, dann 2, dann 1. print läuft vor dem nächsten down. down(1) schreibt 1 und kommt dann zu down(0). down(0) trifft den Stopp, schreibt nichts, und das Programm endet.

Setze print in die Zeile nach down(n - 1). Die kleineren Zahlen werden zuerst geschrieben, weil jede Stufe wartet, bis die innere fertig ist.

1, dann 2, dann 3

python
def down(n):
    if n == 0:
        return
    down(n - 1)
    print(n)

down(3)

Auf dem Bildschirm steht 1, dann 2, dann 3. down(0) schreibt weiterhin nichts. Die print-Zeilen laufen auf dem Rückweg, also steht 1 vor 2 und 2 vor 3.

down(0) für sich erreicht print nie. Der Stopp läuft sofort.

down(0) schreibt nichts

python
def down(n):
    if n == 0:
        return
    print(n)
    down(n - 1)

down(0)

Der Bildschirm bleibt leer, und das Programm endet. n ist schon 0, also werden print und das nächste down übersprungen.

Die Bildschirme verlesen

Das zweite Programm ist nicht 3, dann 2, dann 1. Diese Reihenfolge gehört zum ersten, wo print vorn steht. Streichst du if n == 0: return aus einem der Programme, enden die Stufen nicht. Diese Fassung lässt du unausgeführt.

Die nächste Seite ist eine Liste von Werten. Hier geht es nur um eine Funktion, die ihren eigenen Namen benutzt, und um die Zeile, die sie bei 0 anhält.

Die Zahlen verfolgen

  1. Was schreibt das erste Programm, zuerst und dann?
  2. Was schreibt das zweite Programm, zuerst und dann?
  3. Was schreibt das dritte Programm?
  4. Du streichst den Stopp bei 0. Endet das Programm?

Was down tut

Der Name down in down, mit n - 1, geht von 3 bis 1 hinunter. print davor schreibt 3, dann 2, dann 1. print danach schreibt 1, dann 2, dann 3. if n == 0: return ist der Grund, warum das Programm endet. down(0) schreibt nichts.

🧠 Testen Sie Ihr Wissen

Bereit zum Start

Testen Sie Ihr Wissen

Fordern Sie sich mit diesem interaktiven Quiz heraus und sehen Sie, wie gut Sie das Thema verstehen

❓
5
Fragen
🎯
70%
Zum Bestehen
♾️
∞
Zeit
🔄
∞
Versuche

📝 Anweisungen

  • Lesen Sie jede Frage sorgfältig
  • Wählen Sie die beste Antwort für jede Frage
  • Sie können das Quiz so oft wiederholen, wie Sie möchten
  • Ihr Fortschritt wird oben angezeigt