Hello World! - Programmieren für Kids und andere Anfänger

Warren D. Sande, Carter Sande

Hello World!

Programmieren für Kids und andere Anfänger

2014

501 Seiten

Format: PDF, Online Lesen

E-Book: €  29,99

E-Book kaufen

E-Book kaufen

ISBN: 9783446438149

 

Inhalt

9

Vorwort

17

Was ist Programmieren?

17

Python – eine Sprache für uns und den Computer

18

Wozu soll ich Programmieren lernen?

19

Warum Python?

20

Die lustigen Sachen

21

Das ist neu in der zweiten Auflage

22

Danksagungen

23

Danksagungen für die zweite Auflage

24

Über dieses Buch

25

Was du brauchst

25

Was du nicht brauchst

26

Carter sagt

27

An Eltern und Lehrer

28

1 Erste Schritte

29

Python installieren

29

Python mit IDLE starten

31

Anweisungen bitte

32

Mit Python interagieren

34

Programmierzeit

36

Das erste Programm ausführen

37

Wenn etwas schiefgeht

38

Dein zweites Programm

41

2 Merk’s dir – Speicher und Variablen

44

Eingabe, Verarbeitung, Ausgabe

44

Namen

46

Was ist ein Name?

50

Zahlen und Strings

51

Wie „variabel“ sind sie?

52

Das neue Ich

53

3 Einfache Mathematik

56

Die vier Grundrechenarten

56

Operatoren

59

Punktrechnung vor Strichrechnung

59

Zwei weitere Operatoren

61

Sehr große und sehr kleine Zahlen

63

4 Datentypen

68

Typen ändern

68

Mehr Informationen mit type().

71

Typumwandlungsfehler

72

Anwendung von Typumwandlungen

72

5 Eingabe

74

raw_input().

75

Der print-Befehl und das Komma

76

Zahlen eingeben

78

Eingabe aus dem Internet

80

6 GUIs – Grafische Benutzeroberflächen

83

Was ist eine GUI?

83

Unsere erste GUI

83

GUI-Eingabe

85

Welches Eis hättest du gerne?

86

Nochmal Zahlen raten

90

Andere GUI-Teile

91

7 Immer diese Entscheidungen

93

Test, Test

93

Einrücken

95

Seh’ ich jetzt schon doppelt?

96

Andere Arten von Tests

97

Was passiert, wenn der Test „falsch“ ergibt?

98

Mehrere Bedingungen testen

100

Das Schlüsselwort „and“

101

Das Schlüsselwort „or“

102

Das Schlüsselwort „not“

102

8 Schleifen

106

Zählschleifen

106

Verwendung von Zählschleifen

109

Eine Abkürzung: range().

110

Eine Sache des Stils – Namen von Schleifenvariablen

112

Zählen in Schritten

115

Zählen mit Zahlen

117

Da wir gerade dabei sind …

117

Ausstieg aus einer Schleife – break und continue.

118

9 Nur für dich – Kommentare

122

Kommentare hinzufügen

122

Einzeilige Kommentare

123

Zeilenende-Kommentare

123

Mehrzeilige Kommentare

123

Strings mit drei Anführungszeichen

124

Kommentierstil

125

Kommentare in diesem Buch

125

Auskommentieren

125

10 Zeit zum Spielen

127

Skier

127

11 Geschachtelte und variable Schleifen

132

Geschachtelte Schleifen

132

Variable Schleifen

134

Variable, geschachtelte Schleifen

135

Noch mehr variable, geschachtelte Schleifen

137

Verwendung von geschachtelten Schleifen

138

12 Listen und Wörterbücher

146

Was ist eine Liste?

146

Eine Liste erstellen

147

Elemente in eine Liste einfügen

147

Wozu der Punkt?

148

Listen können alles Mögliche speichern

149

Elemente von einer Liste abrufen

149

Listen in Scheiben schneiden: „Slicing“

150

Elemente ändern

152

Andere Möglichkeiten der Listenerweiterung

153

Elemente aus einer Liste löschen

155

Eine Liste durchsuchen

156

Eine Liste per Schleife durchlaufen

158

Listen sortieren

158

Veränderlich und unveränderlich

162

Listen von Listen: Tabellen

163

Wörterbücher

166

13 Funktionen

173

Funktionen – die Bausteine

173

Eine Funktion aufrufen

175

Argumente an eine Funktion übergeben

177

Funktionen mit mehreren Argumenten

179

Funktionen, die einen Wert zurückgeben

181

Geltungsbereich von Variablen

183

Globale Variablen erzwingen

186

Tipps zur Benennung von Variablen

187

14 Objekte

189

Objekte im wirklichen Leben

190

Objekte in Python

190

Objekt = Attribute + Methoden

191

Was soll der Punkt?

192

Objekte erstellen

192

Eine Beispielklasse – HotDog

198

Die Daten verbergen

202

Polymorphismus und Vererbung

203

Vorausdenken

205

15 Module

208

Was ist ein Modul?

208

Warum Module verwenden?

208

Eimerweise Legosteine

209

Wie werden Module erstellt?

209

Wie werden Module verwendet?

210

Namensräume

211

Standardmodule

214

16 Grafik

218

Hilfe holen – Pygame

218

Ein Pygame-Fenster

218

In das Fenster zeichnen

220

Einzelne Pixel

230

Bilder

235

Jetzt kommt Bewegung in die Sache!

237

Animation

238

Weichere Animationen

240

Den Ball abprallen lassen

241

Den Ball umbrechen

244

17 Sprites und Kollisionserkennung

247

Sprites

247

Peng! Kollisionserkennung

253

Die Zeit messen

257

18 Eine neue Eingabeart: Ereignisse

262

Ereignisse

262

Tastaturereignisse

264

Mausereignisse

269

Timer-Ereignisse

271

Zeit für noch ein Spiel: PyPong

274

19 Sound

286

Pygame hilft – mit dem mixer.

286

Sounds erzeugen oder Sounds abspielen

287

Sounds abspielen

287

Lautstärke regeln

290

Musik wiederholen

292

Sounds für PyPong

293

Noch mehr coole Sounds

294

Musik für PyPong

297

20 Noch mehr GUIs

302

Mit PyQt arbeiten

302

Action in der GUI

307

Die Rückkehr der Ereignishandler

310

Den Button bewegen

311

Weitere nützliche GUIs

311

TempGUI

312

Was steht auf dem Menü?

318

21 Ausgabeformatierung und Strings

325

Neue Zeilen

326

Horizontale Abstände: Tabulatoren

328

Variablen in Strings einfügen

330

Zahlenformatierung

331

Formatieren – der neue Weg

337

Strings und so

338

22 Ein- und Ausgabe mit Dateien

347

Was ist eine Datei?

348

Dateinamen

348

Speicherorte

349

Eine Datei öffnen

353

Eine Datei lesen

354

Text- und Binärdateien

357

Schreiben in eine Datei

358

Daten in Dateien speichern: pickle.

362

Es ist mal wieder Spielzeit: Galgenmännchen

364

23 Das Zufallsprinzip

372

Was ist Zufall?

372

Würfeln

373

Ein Kartenspiel erstellen

379

Crazy Eights – Verrückte Achter

383

24 Computersimulationen

397

Die Realität modellieren

397

Mondlandung

398

Die Zeit festhalten

403

Zeitobjekte

404

Die Zeit in einer Datei speichern

409

Ein virtuelles Haustier

410

25 So entsteht der Skiläufer

422

Der Skiläufer

422

Die Hindernisse

426

26 Python Battle

436

Python Battle

436

Einen Roboter für Python Battle erstellen

438

Ein komplizierterer Roboter

440

Das Koordinatensystem

441

27 Und wie geht's weiter?

446

Für jüngere Programmierer

446

Python

447

Spieleprogrammierung und Pygame

447

Weitere Spieleprogrammierung (aber nicht mit Python)

448

BASIC

448

Apps fürs Handy

448

Schau dich um

449

Anhang A: Regeln für Variablennamen

450

Anhang B: Unterschiede zwischen Python.2 und 3

452

Anhang C: Lösungen zu den Übungen

456

Verzeichnis der Listings

488

Index

491

Listing.1.1 Unser erstes richtiges Programm

36

Listing.1.2 Zahlen raten

41

Listing.5.1 Einen String mit raw_input() bekommen

75

Listing.5.2 Was tut das Komma?

76

Listing.5.3 Temperaturen umrechnen mit raw_input()

78

Listing.5.4 Eingabe aus einer Datei im Internet

80

Listing.6.1 Eingabe mit Buttons

86

Listing.6.2 Eingabe mit Choicebox

87

Listing.6.3 Eingabe mit Enterbox

88

Listing.6.4 So werden Standardargumente angelegt

89

Listing.6.5 Zahlen raten mit EasyGui

90

Listing.7.1 Verwendung der Vergleichsoperatoren

98

Listing.8.1 Eine ganz einfache for-Schleife

107

Listing.8.2 Bei jedem Durchlauf durch die for-Schleife geschieht etwas Anderes

108

Listing.8.3 Die Achterreihe ausgeben

109

Listing.8.4 Eine Schleife mit range()

110

Listing.8.5 Mit range() das kleine Einmaleins mit 8 erhalten

112

Listing.8.6 Bereit zum Abheben?

116

Listing.8.7 Wer ist ein super Typ?

117

Listing.8.8 Eine Bedingungsschleife (oder while-Schleife)

118

Listing.8.9 Verwendung von continue in einer Schleife

119

Listing.10.1 Skier

128

Listing.11.1 Drei Multiplikationstabellen auf einmal ausgeben

133

Listing.11.2 Eine variable, geschachtelte Schleife

135

Listing.11.3 Sternenblöcke mit doppelt geschachtelten Schleifen

136

Listing.11.4 Eine kniffligere Version der Sternenblöcke

137

Listing.11.5 Schleifenvariablen in geschachtelten Schleifen ausgeben

137

Listing.11.6 Wurstkombinationen

140

Listing.11.7 Das Wurstprogramm mit Kalorienzähler

143

Listing.13.1 Eine Funktion erstellen und benutzen

174

Listing.13.2 Ein Argument an eine Funktion übergeben

177

Listing.13.3 Funktionen mit zwei Argumenten

180

Listing.13.4 Eine Funktion erstellen und verwenden, die einen Wert zurückgibt

183

Listing.13.5 Versuch, eine lokale Variable auszugeben

184

Listing.13.6 Eine globale Variable in einer Funktion verwenden

185

Listing.13.7 Versuch, eine globale Variable in einer Funktion zu ändern

186

Listing.14.1 Eine einfache Ball-Klasse

192

Listing.14.2 Die Ball-Klasse verwenden

193

Listing.14.3 Eine __init__()-Methode hinzufügen

194

Listing.14.4 Mit __str__() die Ausgabe des Objekts ändern

196

Listing.14.5 Der Anfang unseres Hot Dog-Programms

199

Listing.14.6 Die Klasse HotDog mit braten(), zutatHinzufuegen() und __str__()

200

Listing.15.1 Ein Modul erstellen

209

Listing.15.2 Ein Modul verwenden

210

Listing.15.3 Das Programm zum Schlafen schicken

215

Listing.16.1 Ein Pygame-Fenster erstellen

219

Listing.16.2 Das Pygame-Fenster korrekt arbeiten lassen

219

Listing.16.3 Einen Kreis zeichnen

220

Listing.16.4 Der Kreis rückt in die Fenstermitte

225

Listing.16.5 Moderne Kunst mit draw.rect

228

Listing.16.6 Moderne Kunst mit Farbe

229

Listing.16.7 Kurven aus vielen kleinen Rechtecken zeichnen

231

Listing.16.8 Eine durchgehende Sinuskurve

232

Listing.16.9 Das geheimnisvolle Punkteverbinden

234

Listing.16.10 Ein Wasserball-Bild in einem Pygame-Fenster anzeigen

235

Listing.16.11 Wir versuchen, den Wasserball zu bewegen

238

Listing.16.12 Nächster Versuch, einen Wasserball zu bewegen

239

Listing.16.13 Den Wasserball geschmeidig bewegen

240

Listing.16.14 Einen Wasserball abprallen lassen

242

Listing.16.15 Ballspiel in 2-D

243

Listing.16.16 Den Wasserball umbrechen

244

Listing.17.1 Mit Sprites mehrere Bälle auf den Bildschirm laden

249

Listing.17.2 Bälle mithilfe von Sprites bewegen

252

Listing.17.3 Eine Sprite-Gruppe statt einer Liste verwenden

254

Listing.17.4 Clock und get_fps() im Wasserballprogramm

260

Listing.18.1 Das Ball-Programm mit Sprites und uhr.tick()

265

Listing.18.2 Ball mit Aufwärts- und Abwärts-Pfeil

267

Listing.18.3 Den Ball mit einem Timer-Ereignis auf und ab bewegen

273

Listing.18.4 Die erste Version von PyPong

277

Listing.18.5 Das endgültige PyPong-Programm

282

Listing.19.1 Sounds in Pygame ausprobieren

289

Listing.19.2 Musik spielen

289

Listing.19.3 Musik und Sound mit Lautstärkeregelung

291

Listing.19.4 Das Ende des Songs abwarten

292

Listing.19.5 PyPong mit Sound und Musik

298

Listing.20.1 Dieser PyQt-Code ist mindestens nötig

308

Listing.20.2 Einen Ereignishandler für den Button aus Listing.20.1 einfügen

309

Listing.20.3 Programm zur Temperaturumrechnung

316

Listing.20.4 Vollständiges Programm zur Temperaturumrechnung mit Menüs

321

Listing.21.1 Ein Programm, das Quadrat- und Kubikzahlen ausgibt

329

Listing.22.1 Datei öffnen und lesen

355

Listing.22.2 readline() mehrmals verwenden

356

Listing.22.3 Anfügenmodus verwenden

360

Listing.22.4 Schreibmodus für neue Dateien

360

Listing.22.5 Schreibmodus für vorhandene Dateien

361

Listing.22.6 Eine Liste mit pickle in einer Datei speichern

363

Listing.22.7 Dateien mit load() entpickeln

363

Listing.22.8 Das komplette Galgenmännchen-Programm

368

Listing.23.1 Tausendmal würfeln mit dem elfseitigen Würfel

374

Listing.23.2 Tausendmal würfeln mit zwei sechsseitigen Würfeln

375

Listing.23.3 Zehnmal hintereinander Kopf

378

Listing.23.4 Die Klasse Card

381

Listing.23.5 Ein Kartenspiel erstellen

382

Listing.23.6 Die Hauptschleife von Crazy Eights

385

Listing.23.7 Das Blatt des Spielers anzeigen

389

Listing.23.8 Der Spielzug des Spielers

390

Listing.23.9 Neue Farbe erfragen, wenn der Spieler eine 8 ablegt

391

Listing.23.10 Der Spielzug des Computers

392

Listing.23.11 Die Hauptschleife inklusive Punktständen

394

Listing.24.1 Mondlandung

400

Listing.24.2 Zeitdifferenzen messen: Tippgeschwindigkeit

408

Listing.24.3 Die Zeit mit pickle in einer Datei speichern

410

Listing.24.4 VirtuellesHaustier.py

416

Listing.25.1 Das Skiläufer-Spiel erstellen – nur der Skiläufer

425

Listing.25.2 Das Skiläufer-Spiel erstellen – nur die Hindernisse

429

Listing.25.3 Skiläufer und Hindernisse zusammen

431

Listing.26.1 Die vollständige Roboter-KI

440

Listing.26.2 Ein komplizierterer Roboter

443

 

© 2009-2024 ciando GmbH