E-Book, Deutsch, 360 Seiten
Reihe: Rheinwerk Computing
Fehr Let’s code Python
2. Auflage 2022
ISBN: 978-3-8362-8656-5
Verlag: Rheinwerk
Format: PDF
Kopierschutz: 0 - No protection
E-Book, Deutsch, 360 Seiten
Reihe: Rheinwerk Computing
ISBN: 978-3-8362-8656-5
Verlag: Rheinwerk
Format: PDF
Kopierschutz: 0 - No protection
Python macht Spaß! Steige einfach in die Programmierung ein: Mit eigenen kleinen Programmen und Spielen, selbst gebauten Kreaturen, Grafik und mehreren Leveln. Mit der Entwicklungsumgebung TigerJython ist es besonders einfach, zügig loszulegen. Sie bietet viele Hilfen eigens für Anfänger und für den Fall, dass du mal einen Fehler finden musst. Ohne Vorkenntnisse lernst du Python in überschaubaren Projekten kennen. Neue Sprachelemente werden ausführlich vorgestellt, mit farbigen Hervorhebungen und Erklärungen direkt am Code.
- In Farbe, ausführlich kommentierter Code
- Mit komplettem Starterpack einfach loslegen
- Viele Beispiele mit Text und Grafik
Aus dem Inhalt:
- Installation und erste Schritte
- Quiz, Vokabeltrainer, Würfel-Poker
- Fehler finden leicht gemacht
- Ein Grafik-Framework benutzen
- Ein Roboter, der zeichnen kann
- Dateien bearbeiten und speichern
- Mathematische Graphen und Diagramme
- Spiele nachprogrammieren: Breakout, Tic Tac Toe und mehr
- Selbst gebaute Kreaturen
- Multi-Level-Spiele
Autoren/Hrsg.
Weitere Infos & Material
Liebe Leserin, lieber Leser, ... 2
Materialien zum Buch ... 13
1. Programme schreiben -- wie geht das? ... 15
2. Wie funktionieren Computer überhaupt? ... 19
Innenleben eines PCs ... 19
Eingabe, Verarbeitung, Ausgabe ... 20
Bits und Bytes ... 22
Prozessortakt -- wie schnell läuft mein PC? ... 24
3. Python -- die Programmiersprache ... 25
Maschinensprache -- die Muttersprache des Prozessors ... 25
Interpreter und Compiler ... 26
Python -- einfach und universell ... 27
Jython -- was ist das? ... 28
TigerJython -- deine Lernumgebung ... 29
4. TigerJython installieren -- einfacher geht's nicht ... 31
Installation unter Windows ... 31
Installation auf dem Mac ... 33
Installation unter Linux ... 35
5. Die ersten Schritte -- Python im Dialog ... 37
Direkte Befehle -- die Konsole ... 38
Ausgabe mit Zahlen ... 38
Die Syntax muss stimmen ... 43
Zeichenketten statt Zahlen ... 44
6. Variablen -- jetzt wird es flexibel ... 47
Variablennamen ... 49
Der »input«-Befehl -- Eingaben zum Verarbeiten ... 51
7. Programme schreiben -- es geht los! ... 55
Ein Programm in TigerJython eingeben ... 55
Das allererste Programm: Ein Zahlenzaubertrick ... 56
Zweites Programm: Ein Umrechner ... 58
Programme speichern ... 60
Eingabe, Verarbeitung, Ausgabe -- diesmal mit Text ... 61
Rechner mit Rest ... 62
Das magische Quadrat ... 64
Variation: Magisches Quadrat mit fester Summe ... 67
8. Bedingungen -- was passiert, wenn ...? ... 71
»if«-Abfragen in Python ... 72
»if« mit »else« ... 75
Mehrere Bedingungen verknüpfen ... 77
»elif« -- »else if« ... 78
»if« -- »else« im Überblick ... 80
Wahr und falsch beim Verknüpfen ... 82
Programm: Eintrittsprüfung ... 83
9. Befehle und Module ... 85
Was sind Module? ... 85
Das Modul »math« ... 86
Das Modul »random« ... 90
Roulette ... 91
Programm: Entscheidungshilfe ... 92
10. Schleifen -- Wiederholungen machen Programme stark ... 95
Die Zählschleife mit »repeat« ... 96
Würfeln ohne Ende ... 98
Schleifen verschachteln ... 102
Die »while«-Schleife ... 103
Würfelpoker ... 105
Klassisches Zahlenraten ... 107
Das kleine Einmaleins ... 111
Mehr Möglichkeiten für »while«-Schleifen ... 116
Primzahlentester ... 118
Das Probeverfahren ... 118
Das Schachrätsel ... 123
Zins und Zinseszins ... 125
11. Listig -- mit Listen arbeiten ... 127
Zeichenketten sind Listen ... 127
Listen in Python ... 130
Wochentag nachschlagen ... 132
Listen per Programm erzeugen ... 133
Die »for«-Schleife mit einer Liste ... 134
Mehr Befehle, Methoden und Funktionen für Listen ... 137
Ein Lottozahlen-Tipp ... 140
Das Lottospiel: Selbst tippen und gewinnen ... 144
Mehrdimensionale Listen ... 148
Zusammenfassung: Listen ... 151
12. Die Schildkröte -- ein grafischer Roboter ... 153
Die Schildkröte steuern ... 154
Weitere Turtle-Befehle ... 161
Grafik mit Koordinaten ... 165
Funktionsgraphen programmieren ... 167
Zufallsbilder erstellen ... 169
Variationen: Zufallsmuster ... 171
Eingebaute Funktionen nutzen ... 173
13. Funktionen selber schreiben ... 175
Was sind Funktionen noch mal genau? ... 175
Eigene Funktionen schreiben ... 176
Eigene Funktion »zahlwort« ... 180
Ein eigenes Modul erstellen ... 184
Zeichnen mit Funktionen ... 186
Rekursive Funktionen ... 188
14. Sound programmieren ... 193
Sound in Python abspielen ... 193
Was sind denn eigentlich Klangdateien? ... 193
WAV-Dateien abspielen ... 195
MP3-Dateien abspielen ... 196
Eigene Musik machen ... 196
Sprachsynthese -- lass den Computer sprechen! ... 198
15. Objekte programmieren ... 201
Was sind Objekte? ... 202
Objekte in Python ... 202
Klassen und Instanzen ... 205
Objekte für alles ... 210
16. Eigene Objekte definieren ... 213
Die Funktion »__init__« ... 214
Eigene Methoden definieren ... 217
Die Funktion »__str__« ... 218
Ableitung und Vererbung -- ein Supertoaster ... 221
17. gamegrid -- Spiele bauen mit Objekten ... 225
Ein Spielfeld erzeugen ... 226
Actor -- jetzt kommen die Figuren ins Spiel ... 230
Der Fisch soll leben ... 232
Spielfiguren mit Eigenleben ... 234
Das Spielfeld kontrolliert den Takt ... 237
Die Steuerungsleiste in gamegrid ... 242
18. Steuerung und Ereignisse in gamegrid ... 245
Erweiterung der Spielidee ... 249
Kollision -- Interaktion zwischen Spielfiguren ... 251
Klang hinzufügen ... 256
Ein Spiel braucht Gegner ... 257
19. Breakball -- ein neues Spiel ... 265
Das Spielprinzip ... 265
Elemente des Programms ... 266
Erster Schritt: Spielfeld und Ball ... 266
Zweiter Schritt: Das Brett ... 271
Dritter Schritt: Die Blöcke ... 275
Die Spielsteuerung ... 280
20. Space Attack -- ein Klassiker ... 287
Das Spielprinzip ... 287
Technik: Was brauchen wir? ... 287
Das Spielfeld ... 288
Das Raumschiff ... 288
Jetzt wird geschossen ... 290
Die Aliens ... 294
Erweiterungen ... 304
Weiterer Ausbau: Deine Aufgabe ... 307
21. Flappy Ball -- geschicktes Hüpfen ... 309
Die Spielidee ... 309
Benötigte Elemente ... 309
Das Spielfeld ... 310
Der Ball ... 310
Die Ballsteuerung mit der Maus ... 312
Die Balken als Spielgegner ... 315
Das Spiel erweitern und verbessern ... 321
Weitere Ideen ... 323
22. Tic Tac Toe -- Brettspiele mit gamegrid ... 325
Das Spielprinzip ... 325
Welche Elemente werden benötigt? ... 326
Das Spielfeld ... 326
Auf die Maus reagieren ... 328
Die Spielverwaltung ... 331
Ein Objekt für die Spieldaten ... 332
Erweiterungen von Tic Tac Toe ... 340
Der Computer als Gegner ... 340
Am einfachsten: Die Zufallsmethode ... 341
Cleverer: Die doppelte Prüfmethode ... 345
Echte KI: Die Minimax-Methode ... 349
23. Wie geht es weiter? ... 351
Mit TigerJython weitermachen ... 352
Andere Python-Systeme ... 354
Andere Programmiersprachen? ... 355
Index ... 357
6 Variablen – jetzt wird es flexibel
Jeder Computer hat nicht nur sein Rechenwerk, sondern er braucht vor allem auch einen Speicher, in dem er Daten zwischenlagern kann. Beim Programmieren nutzen wir diesen Speicher konkret mithilfe von Variablen. Erst damit kann man wirklich sinnvoll Daten verarbeiten, denn sonst wären jeder Wert und jedes Ergebnis in einem Programm ja vorherbestimmt.
Erinnerst du dich an die Vorstellung vom Computer als Bearbeiter, der an seinem Schreibtisch sitzt und ständig Daten aus kleinen Schubladen holt, die er bearbeitet und dann wieder in diese Schubladen hineinsteckt? Diese Schubladen werden wir jetzt auch verwenden. Es sind die sogenannten Variablen, die in jeder Programmiersprache eine außerordentlich wichtige Rolle spielen.
Variabel heißt »veränderlich« – eine Variable ist ein Platzhalter für eine veränderliche Zahl, eine Zeichenkette oder einen anderen Datenwert. Die Variable ist also wie die Schublade, in die man einen Wert hineinstecken kann. Diese Schublade hat eine Beschriftung, damit man immer weiß, was wo drin ist. Die Beschriftung ist der Variablenname, mit dem man auf ihren Inhalt zugreifen kann.
Aber genug der Theorie. Wie sieht das in der Praxis aus? Wir bleiben noch in der Konsole und geben mal folgenden Befehl ein:
(¢)-Taste … und …? Im Ausgabefenster passiert nichts, denn wir haben ja keinen Ausgabebefehl gegeben. Der Befehl a = 25 sagt Python Folgendes:
Speichere die Zahl 25 in einer Variablen mit dem Namen a.
Merke
Wenn wir einen Variablennamen angeben, dahinter ein Gleichheitszeichen und dann einen Zahlausdruck oder eine Zeichenkette stellen, wird dieser Wert in die Variable geschrieben. Wenn die Variable noch nicht existiert, wird sie dabei automatisch erzeugt.
Jetzt gibt es also so etwas wie eine Schublade, die die Aufschrift a trägt, und in der Schublade liegt die Zahl 25.
Python bestätigt das im Dialogfenster mit der Meldung a: 25. Das heißt also: a steht fortan für die Zahl 25.
Gib jetzt Folgendes in der Konsole ein:
Ergebnis:
Immer wenn wir jetzt den Namen a in einem Kommando verwenden, weiß Python, dass wir den Wert meinen, der in der Variablen a drinsteckt.
Du kannst mit der Variablen jetzt genauso rechnen wie mit dem Wert 25 selbst.
ergibt:
Variablen und ihre Werte
Variablen werden erst in dem Moment angelegt, in dem du ihnen einen Wert gibst. Wenn ich a = 1 schreibe, dann habe ich eine Variable a angelegt, die als Inhalt den Wert 1 hat. Wenn ich der Variablen später einen anderen Wert gebe, zum Beispiel a = 12.5, dann ändert sich der Wert dieser vorhandenen Variablen a, und es wird keine neue Variable angelegt.
Du kannst in Programmen nur Variablen zum Rechnen verwenden oder ausgeben, die du vorher auch angelegt hast und denen du einen Wert gegeben hast. Variablen, denen du nie einen Wert gegeben hast, existieren nicht. Das kannst du in der Konsole leicht ausprobieren. Gib mal ein:
Das Ergebnis ist eine Fehlermeldung:
Es existiert also keine Variable oder Funktion mit diesem Namen.
b kann nicht ausgegeben werden, weil b nicht existiert. Logisch, oder?
Erst wenn du b = 125 (oder etwas anderes) schreibst, dann existiert auch die Variable b, und dann kannst du sie auch für Berechnungen verwenden oder ausgeben.
Variablennamen
Natürlich dürfen Variablen nicht nur a, b oder c heißen. Sie können alle möglichen Namen wie eingabezahl oder geschwindigkeit oder meinErgebnis haben. Namen, die einen Hinweis darauf geben, wofür die Variable verwendet wird, helfen sehr beim Programmieren.
Allerdings gibt es auch klare Regeln, wie man Variablen nennen darf und wie nicht, damit Python die Variablen immer eindeutig als solche erkennen kann:
-
Variablennamen dürfen aus Klein- und Großbuchstaben sowie aus Zahlen bestehen. Sie müssen aber immer mit einem Buchstaben beginnen. Beachte aber, dass Groß- und Kleinbuchstaben wirklich unterschieden werden und ein Name nicht mal groß und mal klein geschrieben werden kann. Dann wären es zwei verschiedene Namen.
-
In der Regel werden normale Variablennamen in Python immer mit kleinen Buchstaben geschrieben, Leerzeichen werden meist durch Unterstriche dargestellt. Das ist kein Muss, aber es ist in Python üblich, um Programme auch für andere gut lesbar zu halten.
-
Variablennamen dürfen keine Sonderzeichen, deutschen Umlaute oder Leerzeichen enthalten, sondern wirklich nur internationale Buchstaben und Zahlen – und den Unterstrich _ als Ausnahme.
-
Will man eine Variable mit einem Namen benennen, der aus zwei Wörtern besteht, dann kann man statt des Leerzeichens also den Unterstrich verwenden, das wird snake_case genannt – oder man arbeitet mit Großbuchstaben zur Trennung. Das heißt camelCase (kleiner Anfangsbuchstabe und großer Buchstabe für das nächste Wort) bzw. CapWords – das erste wie zweite Wort beginnt mit einem Großbuchstaben ohne Leerzeichen. In TigerJython wird häufig camelCase für Variablennamen verwendet, wir werden dies auch in einigen Fällen tun und halten uns ansonsten an die Python-Empfehlung snake_case.
Beispiele für Variablennamen:
| x | erlaubt |
| Y | Großbuchstaben sind erlaubt (aber nicht üblich, außer für Konstanten). |
| hallo | erlaubt |
| wert3 | erlaubt |
| 5fach | verboten (beginnt mit einer Zahl) |
| länge | verboten (Sonderzeichen ä ist nicht erlaubt) |
| breite des rechtecks | verboten (Leerzeichen dürfen nicht im Namen vorkommen) |
| laenge_quadrat | erlaubt und erwünscht (der Unterstrich zur Worttrennung wird für Variablen- und Funktionsnamen in Python empfohlen, sogenannter snake_case) |
| tasteGedrueckt | erlaubt und in TigerJython öfter verwendet (camelCase) |
| GrafikObjekt | erlaubt (CapWords wirst du später für sogenannte Klassennamen verwenden) |
Nun weißt du, wie man Variablen benennen kann. Jetzt geht es darum, wie man sie verwendet.
Variablen dürfen in Python Zahlen oder Strings enthalten, zum Beispiel:
Gib anschließend ein:
Die Ausgabe ist:
Oder noch ein anderes Beispiel. Gib nacheinander die folgenden drei Zeilen ein:
doppelter_wert = wert * 2
print("Das Doppelte von",wert,"ist", doppelter_wert)
Nach der letzten Zeile bekommst du die Ausgabe:
Im ersten Befehl wurde die Zahl 21 in die Variable mit dem Namen wert gelegt. Danach wurde die Variable doppelter_wert mit dem Ausdruck wert * 2 belegt. Dadurch stand die Zahl 42 in der Variablen, denn Python...




