5.2 Das erste Programm 

Als Einstieg in die Programmierung mit Python bieten wir hier ein kleines Beispielprogramm, das Spiel Zahlenraten. Die Spielidee ist folgende:
Der Spieler soll eine im Programm festgelegte Zahl erraten. Dazu stehen ihm beliebig viele Versuche zur Verfügung. Nach jedem Versuch informiert ihn das Programm darüber, ob die geratene Zahl zu groß, zu klein oder genau richtig gewesen ist. Sobald der Spieler die Zahl erraten hat, gibt das Programm die Anzahl der Versuche aus und wird beendet. Aus Sicht des Spielers soll das Ganze folgendermaßen aussehen:
Raten Sie: 42 Zu klein Raten Sie: 10000 Zu gross Raten Sie: 999 Zu klein Raten Sie: 1337 Super, Sie haben es in 4 Versuchen geschafft!
Kommen wir vom Ablaufprotokoll zur konkreten Implementierung in Python (siehe Abbildung 5.2).
Jetzt möchten wir die einzelnen Bereiche des Programms noch einmal ausführlich diskutieren.
Initialisierung
Hier werden die für das Spiel benötigten Variablen angelegt. Python unterscheidet zwischen verschiedenen Variablentypen, wie Zeichenketten, Ganz- oder Fließkommazahlen. Der Typ einer Variablen wird zur Laufzeit des Programms anhand des ihr zugewiesenen Wertes bestimmt. Es ist also nicht nötig, einen Variablentyp explizit anzugeben. Eine Variable kann im Laufe des Programms ihren Typ ändern.
In unserem Spiel werden Variablen für die gesuchte Zahl (secret), die Benutzereingabe (guess) und den Versuchszähler (i) angelegt und mit Anfangswerten versehen. Dadurch, dass guess und secret zu Beginn des Programms verschiedene Werte haben, ist sichergestellt, dass die Schleife anläuft.
Abbildung 5.2 Zahlenraten, ein einfaches Beispiel
Schleifenkopf
Eine while-Schleife wird eingeleitet. Eine while-Schleife läuft so lange, wie die im Schleifenkopf genannte Bedingung (guess != secret) erfüllt ist, also in diesem Fall, bis die Variablen guess und secret den gleichen Wert haben. Aus Benutzersicht bedeutet dies: Die Schleife läuft so lange, bis die Benutzereingabe mit der gespeicherten Zahl übereinstimmt.
Den zum Schleifenkopf gehörigen Schleifenkörper erkennt man daran, dass die nachfolgenden Zeilen um eine Stufe weiter eingerückt wurden. Sobald die Einrückung wieder um einen Schritt nach links geht, endet der Schleifenkörper.
Schleifenkörper
In der ersten Zeile des Schleifenkörpers wird eine Zahl vom Spieler eingelesen und in der Variablen guess gespeichert. Dazu wird die Zeile input("Raten Sie: ") benötigt. Der String "Raten Sie: " wird dabei vor der Eingabe ausgegeben und dient dazu, den Benutzer zur Eingabe der Zahl aufzufordern.
Nach dem Einlesen wird einzeln geprüft, ob die eingegebene Zahl guess größer oder kleiner als die gesuchte Zahl secret ist, und mittels print eine entsprechende Meldung ausgegeben. Schlussendlich wird der Versuchszähler i um eins erhöht.
Nach dem Hochzählen des Versuchszählers endet der Schleifenkörper, da die nächste Zeile nicht mehr unter dem Schleifenkopf eingerückt ist.
Bildschirmausgabe
Die letzte Programmzeile gehört nicht mehr zum Schleifenkörper. Das bedeutet, dass sie erst ausgeführt wird, wenn die Schleife vollständig durchlaufen, das Spiel also gewonnen ist. In diesem Fall werden eine Erfolgsmeldung sowie die Anzahl der benötigten Versuche ausgegeben. Das Spiel ist beendet.
Erstellen Sie jetzt Ihr erstes Python-Programm, indem Sie den Programmcode in eine Datei namens spiel.py schreiben und zur Ausführung bringen. Ändern Sie den Startwert von guess, und spielen Sie das Spiel.