Codeblöcke
Ein Block kann so viele Zeilen haben, wie du brauchst. Alle eingerückten Zeilen unter dem if gehören zu seinem Block, und wenn die Bedingung wahr ist, werden sie alle nacheinander ausgeführt:
temperatur = 32
if temperatur > 30:
print("Es ist sehr heiß")
print("Trinke viel Wasser")
print("Schönen Tag noch")Das gibt Folgendes aus:
Es ist sehr heiß
Trinke viel Wasser
Schönen Tag nochDer Block endet bei der ersten Zeile, die nicht eingerückt ist. Diese Zeile, print("Schönen Tag noch"), liegt außerhalb des Blocks und wird deshalb jedes Mal ausgeführt, egal ob die Bedingung wahr oder falsch ist.
Deshalb ist die Einrückung in Python so wichtig. Ein typischer Fehler ist, eine Zeile nicht einzurücken, die zum Block gehört. Python meldet keinen Fehler, weil das Programm weiterhin korrektes Python ist. Es tut nur etwas anderes, als du gemeint hast:
temperatur = 20
if temperatur > 30:
print("Es ist sehr heiß")
print("Trinke viel Wasser")Das gibt Folgendes aus:
Trinke viel WasserEs ist nicht heiß, also überspringt Python den Block. Aber print("Trinke viel Wasser") gehört nicht dazu, deshalb wird es sogar bei 20 Grad ausgeführt.
Der umgekehrte Fehler, eine Zeile einzurücken, die zu keinem Block gehört, endet mit einem Fehler: IndentationError: unexpected indent. Und alle Zeilen eines Blocks müssen um gleich viele Leerzeichen eingerückt sein, bleibe also bei 4.
So schreibst du es:
Anweisungen
- 1
Das Programm sagt dir, du sollst das Ladegerät anschließen, auch wenn der Akku bei 80 steht. Rücke die Zeile
print("Schließe das Ladegerät an")um 4 Leerzeichen ein, damit sie zum Block derif-Anweisung gehört. Dann gibt das Programm nurAkku: 80aus. - 2
Ändere
akkuauf15und führe das Programm aus. Jetzt ist die Bedingung wahr, und das Programm gibt alle drei Zeilen aus:Akku schwach,Schließe das Ladegerät anundAkku: 15.