Vorwort | 5 |
Über den Autor | 5 |
Über die Fachkorrektoren | 5 |
Danksagungen | 6 |
Inhaltsübersicht | 7 |
Inhaltsverzeichnis | 9 |
1 Einleitung | 19 |
1.1 Warum Python? | 19 |
1.2 Wie man das Programmieren lernt | 20 |
1.3 Wer dieses Buch lesen sollte | 20 |
1.4 Was in diesem Buch steht | 21 |
1.5 Die Website zum Buch | 22 |
1.6 Viel Vergnügen! | 22 |
Programmieren lernen | 23 |
2 Nicht alle Schlangen schlängeln sich | 25 |
2.1 Ein paar Bemerkungen zum Thema Sprache | 26 |
2.2 Python installieren | 26 |
Python unter Windows installieren | 27 |
Python in Mac OS X installieren | 29 |
Python in Ubuntu installieren | 31 |
2.3 Wenn Du Python installiert hast | 32 |
2.4 Deine Python-Programme sichern | 33 |
2.5 Was Du gelernt hast | 35 |
3 Berechnungen und Variablen | 37 |
3.1 Mit Python rechnen | 37 |
Operatoren in Python | 39 |
Die Rangfolge der Operationen | 39 |
3.2 Variablen sind wie Bezeichnungen | 40 |
3.3 Variablen benutzen | 42 |
3.4 Was Du gelernt hast | 44 |
4 Strings, Listen, Tupeln und Maps | 45 |
4.1 Strings | 45 |
Strings erzeugen | 46 |
Wie man Probleme mit Strings meistert | 47 |
Werte in Strings einbetten | 49 |
Strings multiplizieren | 50 |
4.2 Listen können mehr als Strings | 52 |
Einer Liste Elemente hinzufügen | 54 |
Elemente aus einer Liste entfernen | 54 |
Mit Listen rechnen | 55 |
4.3 Tupeln | 57 |
4.4 Maps in Python weisen Dir nicht den Weg | 57 |
4.5 Was Du gelernt hast | 59 |
4.6 Programmier-Puzzles | 60 |
# 1: Lieblingssachen | 60 |
# 2: Kämpfer zählen | 60 |
# 3: Grüße! | 60 |
5 Malen mit Turtles | 61 |
5.1 Wie man Pythons Modul turtle benutzt | 61 |
Eine Leinwand erzeugen | 62 |
Die Schildkröte bewegen | 63 |
5.2 Was Du gelernt hast | 68 |
5.3 Programmier-Puzzles | 68 |
# 1: Ein Rechteck | 68 |
# 2: Ein Dreieck | 68 |
# 3: Eine Kiste ohne Ecken | 68 |
6 Fragen mit if und else stellen | 69 |
6.1 if-Anweisungen | 69 |
Ein Anweisungsblock enthält mehrere Anweisungen | 70 |
Mit Bedingungen können wir Dinge vergleichen | 72 |
6.2 If-Then-Else-Anweisungen | 74 |
6.3 if- und elif-Anweisungen | 75 |
6.4 Bedingungen kombinieren | 76 |
6.5 Variablen ohne Wert – None | 76 |
6.6 Der Unterschied zwischen Strings und Zahlen | 77 |
6.7 Was Du gelernt hast | 79 |
6.8 Programmier-Puzzles | 80 |
# 1: Bist Du reich? | 80 |
# 2: Kekse! | 80 |
# 3: Einfach die richtige Zahl | 80 |
# 4: Ich kann die Ninjas bezwingen | 80 |
7 Schleifen drehen | 81 |
7.1 Wie man for-Schleifen benutzt | 81 |
7.2 Wo wir gerade von Schleifen sprechen… | 88 |
7.3 Was Du gelernt hast | 91 |
7.4 Programmier-Puzzles | 91 |
# 1: Die Hallo-Schleife | 91 |
# 2: Gerade Zahlen | 91 |
# 3: Meine fünf Lieblingszutaten | 92 |
# 4 Wie viel wiegst Du auf dem Mond? | 92 |
8 Wiederverwertung Deines Codes mit Funktionen und Modulen | 93 |
8.1 Funktionen benutzen | 94 |
Teile einer Funktion | 94 |
8.2 Variablen und ihr Gültigkeitsbereich | 95 |
8.3 Einsatz von Modulen | 98 |
8.4 Was Du gelernt hast | 100 |
8.5 Programmier-Puzzles | 100 |
# 1: Einfache Funktion für Dein Gewicht auf dem Mond | 100 |
# 2: Was wiegst Du auf dem Mond nach x Jahren? | 101 |
# 3: Ein Programm für Dein Gewicht auf dem Mond | 101 |
9 Wie man Klassen und Objekte benutzt | 103 |
9.1 Dinge in Klassen aufteilen | 104 |
Kinder und Eltern | 105 |
9.2 Klassen Objekte hinzufügen | 105 |
9.3 Funktionen von Klassen definieren | 106 |
Klasseneigenschaften als Funktionen hinzufügen | 106 |
9.4 Wozu braucht man Klassen und Objekte? | 108 |
9.5 Objekte und Klassen bei Bildern | 109 |
9.6 Weitere nützliche Eigenschaften von Objekten und Klassen | 111 |
9.7 Geerbte Funktionen | 112 |
9.8 Funktionen, die andere Funktionen aufrufen | 113 |
9.9 Ein Objekt initialisieren | 114 |
9.10 Was Du gelernt hast | 116 |
9.11 Programmier-Puzzles | 116 |
# 1: Der Giraffen-Schiebetanz | 116 |
# 2: Schildkröten-Heugabel | 117 |
10 Pythons eingebaute Funktionen | 119 |
10.1 Eingebaute Funktionen verwenden | 119 |
Die abs-Funktion | 120 |
Die boolesche Funktion | 120 |
Die Funktion dir | 122 |
Die Funktion eval | 124 |
Die Funktion exec | 125 |
Die Funktion float | 125 |
Die Funktion int | 126 |
Die Funktion len | 127 |
Die Funktionen max und min | 128 |
Die Funktion range | 129 |
Die Funktion sum | 130 |
10.2 Umgang mit Dateien | 130 |
Erzeugen einer Test-Datei | 131 |
Eine Datei in Python öffnen | 133 |
In Dateien schreiben | 135 |
10.3 Was Du gelernt hast | 135 |
10.4 Programmier-Puzzles | 136 |
# 1: Geheimnisvoller Code | 136 |
# 2: Eine versteckte Botschaft | 136 |
# 3: Eine Datei kopieren | 136 |
11 Nützliche Python-Module | 137 |
11.1 Mit dem Modul copy Kopien erstellen | 138 |
11.2 Mit dem Modul keyword einen Überblick über die Schlüsselwörter erhalten | 140 |
11.3 Wie man mit dem Modul random Zufallszahlen bekommt | 141 |
Mit randint eine Zufallszahl bestimmen lassen | 141 |
Mit choice ein zufälliges Element aus einer Liste auswählen | 143 |
Mit shuffle eine Liste mischen | 143 |
11.4 Die Shell mit dem Modul sys steuern | 144 |
Die Shell mit der Funktion exit verlassen | 144 |
In dem Objekt stdin lesen | 144 |
Mit dem Objekt stdout schreiben | 145 |
Welche Python-Version benutze ich? | 146 |
11.5 Mit dem Modul time arbeiten | 146 |
Mit asctime ein Datum umwandeln | 147 |
Mit localtime Datum und Uhrzeit bekommen | 148 |
Mit sleep eine Pause machen | 149 |
11.6 Mit dem Modul pickle Informationen speichern | 149 |
11.7 Was Du gelernt hast | 151 |
11.8 Programmier-Puzzles | 151 |
# 1: Kopierte Autos | 151 |
# 2: Favoriten in pickle | 152 |
12 Noch mehr Grafik mit turtle | 153 |
12.1 Fangen wir mit einem einfachen Quadrat an | 153 |
12.2 Sterne zeichnen | 154 |
12.3 Ein Auto zeichnen | 158 |
12.4 Dinge einfärben | 160 |
Eine Funktion zum Zeichnen eines ausgefüllten Kreises | 161 |
Reines Schwarz und Weiß erzeugen | 162 |
Eine Funktion zum Quadratezeichnen | 163 |
12.5 Ausgefüllte Quadrate zeichnen | 164 |
12.6 Ausgefüllte Sterne zeichnen | 166 |
12.7 Was Du gelernt hast | 168 |
12.8 Programmier-Puzzles | 168 |
# 1: Ein Oktagon zeichnen | 168 |
# 2: Ein ausgefülltes Oktagon zeichnen | 169 |
# 3: Noch eine Funktion zum Sterne Zeichnen | 169 |
13 Bessere Grafiken mit tkinter | 171 |
13.1 Einen klickbaren Button erzeugen | 172 |
13.2 Einsatz von benannten Parametern | 174 |
13.3 Eine Leinwand zum Zeichnen erzeugen | 175 |
13.4 Linien zeichnen | 175 |
13.5 Kästchen zeichnen | 177 |
Ganz viele Rechtecke zeichnen | 179 |
Die Farbe bestimmen | 181 |
13.6 Bögen zeichnen | 184 |
13.7 Polygone zeichnen | 187 |
13.8 Darstellung von Text | 188 |
13.9 Bilder anzeigen | 189 |
13.10 Eine einfache Animation erzeugen | 191 |
13.11 Ein Objekt auf etwas reagieren lassen | 194 |
13.12 Weitere Anwendungen für die ID-Nummer | 196 |
13.13 Was Du gelernt hast | 197 |
13.14 Programmier-Puzzles | 198 |
# 1: Fülle die Leinwand mit Dreiecken | 198 |
# 2: Das sich bewegende Dreieck | 198 |
# 3: Das sich bewegende Foto | 198 |
BOUNCE! | 199 |
14 Der Anfang Deines ersten Spiels: BOUNCE! | 201 |
14.1 Schlag den hüpfenden Ball | 201 |
14.2 Erzeugen einer Spiele-Leinwand | 202 |
14.3 Erzeugen der Ball-Klasse | 203 |
14.4 In Bewegung kommen | 206 |
Den Ball in Bewegung setzen | 206 |
Den Ball springen lassen | 208 |
Die Startposition des Balls ändern | 209 |
14.5 Was Du gelernt hast | 211 |
15 Dein erstes Spiel vollenden: BOUNCE! | 213 |
15.1 Einen Schläger hinzufügen | 213 |
Den Schläger in Bewegung setzen | 215 |
15.2 Merken, dass der Ball auf den Schläger trifft | 217 |
15.3 Dem Spiel etwas Zufall hinzufügen | 220 |
15.4 Was Du gelernt hast | 223 |
15.5 Programmier-Puzzles | 224 |
# 1: Verzögere den Spielstart | 224 |
# 2: Ein richtiges »Game Over« | 224 |
# 3: Beschleunige den Ball | 225 |
# 4: Zeichne den Punktestand auf | 225 |
Herr Strichmann rennt zum Ausgang | 227 |
16 Wir erstellen Grafiken für das Strichmännchenspiel | 229 |
16.1 Der Strichmännchen-Spielplan | 229 |
16.2 GIMP installieren | 230 |
16.3 Erzeugen der Spielelemente | 232 |
Ein transparentes Bild erstellen | 232 |
Herrn Strichmann zeichnen | 233 |
Herr Strichmann rennt nach rechts | 233 |
Herr Strichmann rennt nach links | 234 |
Ebenen zeichnen | 235 |
Die Tür zeichnen | 235 |
Den Hintergrund zeichnen | 236 |
Transparenz | 237 |
16.4 Was Du gelernt hast | 238 |
17 Entwicklung des Strichmännchenspiels | 239 |
17.1 Erzeugen der Spiel-Klasse | 239 |
17.2 Den Fenstertitel bestimmen und die Leinwand erzeugen | 240 |
Abschluss der _ _init_ _-Funktion | 241 |
Erzeugen der Hauptschleifen-Funktion | 242 |
17.3 Erstellen der Klasse Koordinaten | 244 |
17.4 Zusammenstöße erkennen | 244 |
Sprites stoßen horizontal zusammen | 245 |
Sprites stoßen vertikal zusammen | 247 |
Alles zusammenfügen: Unserer endgültiger Code zur Erkennung von Zusammenstößen | 247 |
17.5 Erzeugen der Sprite-Klasse | 250 |
17.6 Die Ebenen hinzufügen | 251 |
Ein Ebenen-Objekt hinzufügen | 252 |
Einen ganzen Haufen Ebenen hinzufügen | 253 |
17.7 Was Du gelernt hast | 254 |
17.8 Programmier-Puzzles | 255 |
# 1: Schachbrett | 255 |
# 2: Zwei-Bilder-Schachbrett | 255 |
# 3: Regal und Lampe | 256 |
18 Herrn Strichmann erschaffen | 257 |
18.1 Das Strichmännchen initialisieren | 257 |
Die Strichmännchen-Bilder laden | 258 |
Variablen einrichten | 259 |
Bindung an die Tasten | 260 |
18.2 Das Strichmännchen nach links und rechts bewegen | 260 |
18.3 Das Strichmännchen springen lassen | 261 |
18.4 Was wir bis jetzt erreicht haben | 262 |
18.5 Was Du gelernt hast | 263 |
19 Abschluss des Spiels mit Herrn Strichmann | 265 |
19.1 Animation des Strichmännchens | 265 |
Die Funktion animieren erstellen | 266 |
Das Strichmännchen in Bewegung versetzen | 270 |
19.2 Testen unseres Strichmännchen-Sprites | 278 |
19.3 Die Tür! | 279 |
Die Klasse TürSprite erzeugen | 279 |
Die Tür erkennen | 280 |
Das Tür-Objekt hinzufügen | 281 |
19.4 Das fertige Spiel | 282 |
19.5 Was Du gelernt hast | 288 |
19.6 Programmier-Puzzles | 289 |
# 1: »Du hast gewonnen!« | 289 |
# 2: Animation der Tür | 289 |
# 3: Sich bewegende Ebenen | 289 |
20 Wie geht es jetzt weiter? | 291 |
20.1 Spiele- und Grafikprogrammierung | 291 |
20.2 PyGame | 292 |
20.3 Programmiersprachen | 293 |
Java | 293 |
C/C++ | 294 |
C# | 294 |
PHP | 295 |
Objective-C | 295 |
PERL | 296 |
Ruby | 296 |
JavaScript | 296 |
20.4 Abschließende Worte | 297 |
Anhang | 299 |
Python-Schlüsselwörter | 301 |
Glossar | 313 |
Index | 319 |
www.dpunkt.de | 0 |