Fehler
Manche Zeilen kann Python nicht zu Ende rechnen. Es stoppt auf der Zeile und gibt dem Stopp einen Namen. 8 / 2 geht zu Ende: zwei Leute teilen 8, und jeder Anteil ist vier. 1 / 0 geht nicht zu Ende: es gibt niemanden, dem du die 1 gibst. Der Name dieses Stopps ist ZeroDivisionError.
print(8 / 2)
print(1 / 0)
print("rice")
Auf dem Bildschirm steht 4.0, und dann stoppt das Programm. 4.0 ist vier, mit einem Dezimalpunkt geschrieben, weil diese Division die Zahl so aufschreibt. rice wird nicht geschrieben. Die Zeile nach dem Stopp läuft nicht.
Lies den Namen am Ende der Meldung. ZeroDivisionError heißt: diese Zeile hat durch null geteilt. Ein anderes Problem bekommt einen anderen Namen. An dem Namen unterscheidest du die Probleme.
print(tea) stoppt, wenn der Name tea nie einen Wert bekommen hat. Der Name dieses Stopps ist NameError. print("tea") ist eine andere Zeile: die Anführungszeichen machen einen Text, und der Text würde geschrieben. Ohne sie sucht Python einen Namen.
Python erfindet keinen Wert und macht weiter. Es schreibt nicht None und dann rice. Der Stopp ist das Ende dieses Programms.
📊 Welcher Stopp, oder keiner
| Zeile | Was passiert |
|---|---|
| 1 / 0 | das Programm stoppt, und der Name ist ZeroDivisionError |
| print(tea), und tea hat nie einen Wert bekommen | das Programm stoppt, und der Name ist NameError |
| 8 / 2 | 4.0 wird geschrieben, und das Programm stoppt nicht |
| print("rice") nach 1 / 0 | diese Zeile läuft nicht |
Das Teilen selbst ist erlaubt. 8 / 2 schreibt 4.0 und stoppt nicht. Die Null rechts vom Schrägstrich ist es, die die zweite Zeile stoppt.
Die nächste Seite fängt einen Stopp auf, damit die Zeilen danach noch laufen. Diese Seite liest nur den Namen des Stopps.
Wie der Stopp heißt
- Was wird geschrieben, bevor das Programm stoppt?
- Wie heißt der Stopp bei 1 / 0?
- Was passiert mit print("rice")?
- Wenn du print(tea) schreibst und tea nie einen Wert bekommen hat, wie heißt der Stopp?
- Was macht 8 / 2?
Zwei Namen, zwei Probleme
Der Bildschirm zeigt 4.0, dann stoppt das Programm. rice wird nicht geschrieben. 1 / 0 heißt ZeroDivisionError. Ein Name, der nie einen Wert bekommen hat, heißt NameError. 8 / 2 stoppt nicht. Die nächste Seite fängt einen Stopp auf, damit spätere Zeilen noch laufen.
🧠 Testen Sie Ihr Wissen
Testen Sie Ihr Wissen
Fordern Sie sich mit diesem interaktiven Quiz heraus und sehen Sie, wie gut Sie das Thema verstehen
📝 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