Python lernen: Erste Programme Schritt für Schritt
Du lernst, was kleine Python-Programme ausgeben und wie du Werte speicherst, Entscheidungen triffst und Schritte wiederholst.
Kurz gesagt
Beginne mit wenigen Anweisungen und verfolge ihre Wirkung Schritt für Schritt. Speichere Zahlen oder Texte, lasse sie anzeigen und ergänze dann Entscheidungen und Wiederholungen.
Python ist eine Programmiersprache: Damit schreibst du Anweisungen für einen Computer. Ein Programm besteht aus solchen Anweisungen. Alle Beispiele sind ausführbare Programme für Python 3 und verwenden ausgedachte Übungsdaten. Betrachte jedes Programm als einen neuen Start ohne zuvor gespeicherte Werte.
Deine Lernziele
Die Ausgabe ist das, was ein Programm anzeigt. Lies die hier gezeigten einfachen Programme von oben nach unten. Eine Variable ist ein Name für einen gespeicherten Wert. Die Zeile bonbons = 4 speichert die Zahl 4 unter dem Namen bonbons. Das Zeichen = weist der Variablen einen Wert zu. Diese Zeile allein zeigt noch nichts an.
Eine spätere Anweisung kann den gespeicherten Wert ersetzen. Bei bonbons = bonbons + 3 wird zuerst die rechte Seite berechnet: Zum bisherigen Wert kommt 3 hinzu. Danach wird das Ergebnis unter demselben Namen gespeichert. Das Zeichen + bedeutet hier Addition.
Mit print(...) lässt du einen Wert anzeigen. Das Ausführen einer solchen Anweisung heißt Aufruf. In den Klammern steht, was angezeigt werden soll. Bei den hier verwendeten print-Aufrufen beginnt jede Ausgabe in einer neuen Zeile.
Text steht im Programm zwischen geraden einfachen oder doppelten Anführungszeichen. print("Hallo") gibt Hallo ohne Anführungszeichen aus. Ein Variablenname ohne Anführungszeichen steht für seinen gespeicherten Wert: print(bonbons) zeigt die gespeicherte Zahl. print("bonbons") zeigt dagegen das Wort bonbons.
Variable
Eine Variable ist ein Name für einen gespeicherten Wert. Wenn du ihr einen neuen Wert zuweist, ersetzt dieser den bisherigen Wert.
Beispiel: Bonbons zählen
- 1bonbons = 4
- 2bonbons = bonbons + 3
- 3print(bonbons)
- 4print("Hallo")
- 5Zuerst wird 4 gespeichert. Danach wird daraus 7.
- 6Die Ausgabe besteht aus zwei Zeilen: zuerst 7, dann Hallo.
Merke: Verfolge bei jeder Änderung den aktuellen Wert. Eine Zuweisung mit = erzeugt allein keine Ausgabe; ein print-Aufruf zeigt etwas an.
Teste dich
Eine Bedingung ist eine Aussage, die wahr oder falsch sein kann. Das Zeichen < bedeutet „kleiner als“. Die Zeichenfolge == prüft, ob zwei Werte gleich sind. Ein einzelnes = speichert dagegen einen Wert. So speichert punkte = 6 eine Zahl; punkte == 6 prüft den gespeicherten Wert.
Mit if beginnt eine Entscheidung. if bedeutet hier „wenn“. Ist die Bedingung wahr, laufen die zugehörigen eingerückten Zeilen. Einrücken bedeutet, Leerzeichen vor eine Zeile zu setzen. Ein Block ist eine zusammengehörende Gruppe von Anweisungen. Mit else kannst du einen zweiten Block für den Fall angeben, dass die Bedingung falsch ist. else bedeutet hier „sonst“. Bei einer Entscheidung mit if und else läuft genau einer dieser beiden Blöcke. Du darfst else auch weglassen; bei einer falschen Bedingung wird dann der if-Block übersprungen. Nach if mit seiner Bedingung und nach else steht jeweils ein Doppelpunkt :.
Eine Schleife wiederholt Anweisungen. Ein Durchlauf ist eine einzelne Wiederholung des Schleifenblocks. Mit for kannst du nacheinander Werte durchgehen. In for schritt in range(3): bekommt die Variable schritt vor jedem Durchlauf den nächsten Wert aus range(3). Der Doppelpunkt kündigt den eingerückten Schleifenblock an.
Für eine ganze Zahl n ab 0 liefert range(n) genau n Werte. Die Folge beginnt bei 0 und endet bei der Zahl direkt vor n. Der Wert n gehört nicht dazu. range(3) liefert deshalb 0, 1 und 2. range(0) liefert keinen Wert; der Schleifenblock läuft dann keinmal.
Im Schleifenblock kannst du gespeicherte Werte verändern. Der neue Wert bleibt für den nächsten Durchlauf erhalten. Plane ein eigenes Programm so: Lege zuerst die benötigten Werte fest. Wähle dann eine Bedingung für eine Entscheidung oder eine Anzahl für Wiederholungen. Ergänze die Anweisungen in den passenden Blöcken.
Beispiel: Eine Punktzahl prüfen
- 1punkte = 6
- 2if punkte < 5:
- 3 print("Weiter")
- 4else:
- 5 print("Ziel")
- 66 ist nicht kleiner als 5. Deshalb läuft der else-Block.
- 7Die Ausgabe lautet Ziel.
Beispiel: Drei Zahlen anzeigen
- 1for schritt in range(3):
- 2 print(schritt)
- 3schritt bekommt nacheinander die Werte 0, 1 und 2.
- 4Die Ausgabe lautet zeilenweise: 0, dann 1, dann 2.
Merke: In unseren Programmen hat eine for-Schleife mit range(n) für eine ganze Zahl n ab 0 genau n Durchläufe. Bei n größer als 0 reichen die Werte von 0 bis zur Zahl direkt vor n. Bei n mit dem Wert 0 gibt es keinen Durchlauf.
Teste dich
Die Einrückung legt in Python fest, welche Anweisungen zu einem Block gehören. In unseren Programmen beginnen die Zeilen eines Blocks mit vier Leerzeichen mehr als die zugehörige if-, else- oder for-Zeile. Alle Anweisungen desselben einfachen Blocks sind gleich weit eingerückt. Die vier Leerzeichen sind die einheitliche Schreibweise dieser Lektion.
Steht eine folgende Zeile wieder so weit links wie die zugehörige if- oder for-Zeile, gehört sie nicht mehr zu deren Block. Nach einer Entscheidung läuft das Programm mit dieser folgenden Anweisung weiter, unabhängig davon, welcher Entscheidungsblock lief. Nach einer Schleife wird die folgende Anweisung ausgeführt, wenn die Wiederholungen beendet sind. Auch bei range(0) wird eine solche folgende Anweisung ausgeführt.
Eine else-Zeile steht so weit links wie die zugehörige if-Zeile. Die Anweisungen unter else sind wieder eingerückt. Einrückungen sind deshalb keine bloße Verzierung: Sie bestimmen, welche Anweisungen gemeinsam ausgewählt oder wiederholt werden.
Block
Ein Block ist eine zusammengehörende Gruppe von Anweisungen. Seine Einrückung zeigt, zu welcher Entscheidung oder Schleife er gehört.
Beispiel: Einen Vorrat prüfen
- 1vorrat = 1
- 2if vorrat == 1:
- 3 print("Letztes")
- 4else:
- 5 print("Anders")
- 6print("Pruefung")
- 7Die Bedingung ist wahr. Deshalb wird Letztes ausgegeben.
- 8Die letzte Zeile gehört zu keinem der beiden Entscheidungsblöcke. Danach wird Pruefung ausgegeben.
Merke: Prüfe den linken Rand jeder Zeile. Eine Zeile, die wieder so weit links wie die for-Zeile steht, gehört nicht zum Schleifenblock.
Teste dich
Alles auf einen Blick
Python
Eine Zuweisung mit = speichert einen Wert und ersetzt einen bisherigen Wert.
print(...) zeigt den angegebenen Wert; Text erscheint ohne seine Anführungszeichen.
if wählt bei einer wahren Bedingung seinen Block, else bei einer falschen Bedingung.
range(n) liefert für eine ganze Zahl n ab 0 genau n Werte; n selbst gehört nicht dazu.
Innerhalb desselben einfachen Blocks sind die Anweisungen gleich weit eingerückt.
Die Ausgabe eines Stickerprogramms bestimmen
- 1Untersuche dieses Programm: sticker = 2 for runde in range(3): sticker = sticker + 2 print(sticker)
- 2Vor der Schleife enthält sticker den Wert 2.
- 3range(3) liefert 0, 1 und 2. Der eingerückte Block läuft deshalb dreimal.
- 4Im ersten Durchlauf wird 2 + 2 berechnet. sticker enthält danach 4.
- 5Im zweiten Durchlauf wird 4 + 2 berechnet. sticker enthält danach 6.
- 6Im dritten Durchlauf wird 6 + 2 berechnet. sticker enthält danach 8.
- 7print(sticker) steht nach dem Schleifenblock. Das Programm gibt die Zahl 8 einmal aus.
Fehler finden
Fehler in Zeile 3Die Zeile mit Geprueft ist nicht eingerückt und gehört deshalb nicht zum if-Block. Richtig: print("Geprueft") steht nach dem if-Block und wird auch bei der falschen Bedingung ausgeführt.
Lückentext
Nach anzahl = 4 und danach anzahl = anzahl + 2 gibt print(anzahl) die Zahl aus. Bei for runde in range(5): mit der eingerückten Anweisung print("Tipp") erscheint „Tipp“ . Betrachte dieses Programm: if 2 < 1: print("A") print("B") Die Ausgabe „B“ erscheint .