Python für Kids

Python für Kids

von: Gregor Lingl

mitp Verlags GmbH & Co. KG, 2010

ISBN: 9783826684494

Sprache: Deutsch

464 Seiten, Download: 14842 KB

 
Format:  PDF, auch als Online-Lesen

geeignet für: Apple iPad, Android Tablet PC's Online-Lesen PC, MAC, Laptop


 

eBook anfordern

Mehr zum Inhalt

Python für Kids



  Python für Kids 1  
  Inhaltsverzeichnis 5  
  Vorwort 13  
  Einleitung 15  
     Dies ist ein Buch über Programmieren 15  
     Ist dieses Buch das richtige für dich? 15  
     Die Programmiersprache ist Python 16  
     Turtle-Grafik 17  
     Fehler 18  
     Wie arbeitest du mit diesem Buch? 18  
        Fragen und Aufgaben 18  
        Arbeitsschritte 19  
        Probleme, Notfälle, Vertiefungen 19  
        Wichtige Stellen im Buch 19  
        Programmentwürfe 20  
        Muster 20  
     Zwei wichtige Informationsquellen zum Buch 20  
        Die CD-ROM zum Buch 20  
        Die Website zum Buch: python4kids.net 21  
     Beim Schreiben dieses Buches … 22  
  Was ist Programmieren? 23  
     Wozu dienen Programmiersprachen? 23  
     Unser Werkzeug: die IDLE 24  
     Die Arbeit mit dem interaktiven Python-Interpreter 27  
     Rechnen 27  
     sqrt ist eine Funktion 30  
     Schreiben 32  
     Dein erstes Programm 34  
     Wir erweitern unser erstes Programm 39  
     Syntax-Colouring: bunte Farben für den besseren Durchblick 43  
     Mit Mustern arbeiten 43  
     Zusammenfassung 44  
     Zum Abschluss noch ein paar Übungsaufgaben ... 45  
     ... und ein paar Fragen 47  
  Was Schildkröten mit Grafik zu tun haben: Turtle-Grafik 49  
      Die Turtle und der IPI 49  
     Wie macht die Turtle das? 54  
     Hilfe! 54  
     Ein rotes Quadrat 55  
     Füllen – und auf die Spitze! 58  
     Programmcode kopieren 61  
     Und jetzt drei Dreiecke! 64  
     Programm codieren 67  
     Noch ein paar Turtle-Grafik-Funktionen 68  
     Es müssen nicht immer Ecken sein 70  
     Schildkröte verstecken! Und weitere Kleinigkeiten 72  
     Zusammenfassung 73  
        Funktionen aus dem Modul »turtle« 73  
     Einige Aufgaben ... 74  
     ... und einige Fragen 76  
  Namen 77  
     Verschieden große Dreiecke 77  
     Spielerei mit Namen 79  
     Wir machen die Dreiecksseite variabel 80  
     Dinge brauchen Namen 83  
     Übung: Verschieden große Quadrate 88  
     Und nun zu etwas ganz anderem 91  
     Zahleneingaben 93  
     Grafik-Programm mit Dialog 95  
     Zusammenfassung 99  
     Einige Aufgaben … 100  
     … und einige Fragen: 101  
  Wir erzeugen unsere eigenen Funktionen 103  
     Vorbereitung – eine kleine Vereinfachung 103  
     Wir (er)finden die Funktion dreieck 105  
     Im Direktmodus Funktionen definieren 106  
     Dreieck-Programm, heute neu 108  
     Wie wird »dreieck07.py« ausgeführt? 109  
     Noch ein Schritt weiter … 110  
     Noch eine Idee … 112  
     Welche ist die bessere Variante? 115  
     Mini-Quiz 116  
     Zunächst nur eine Frage 121  
     Mini-Quiz erweitern 122  
     Eine Funktion verwenden 124  
     Mehrfachverzweigung 127  
     Zusammenfassung 130  
     Einige Aufgaben … 131  
     … und einige Fragen 132  
  Funktionen mit Parametern 133  
     Noch einmal Dreiecke 133  
     Das geht auch mit gefüllten Dreiecken 138  
     Funktionen mit mehreren Parametern 139  
     Dreiecksmuster 142  
     jump() 143  
     Ran ans Dreiecksmuster 145  
     »jump()« ist auch für später nützlich 146  
     Seifenoper 149  
        Verwendung der print()-Funktion mit mehreren Argumenten 150  
        Verkettung von Strings 150  
        Formatierungsmarken und die format()-Methode 151  
        Erklärende Variablennamen 152  
     Zusammenfassung 153  
     Einige Aufgaben … 153  
     … und einige Fragen 155  
  Von oben nach unten und zurück 157  
     Aufgabenstellung: Yinyang 157  
     Weg 1: Top-down. Programmieren ohne Computer 158  
        Die Funktion »yin()« 159  
        Die Funktion »yinfigur()« 161  
        Die Funktion »punkt()« 161  
     Weg 2: Bottom-up. Schrittweise von unten nach oben 163  
     »jump()«, revisited 175  
     Zusammenfassung 176  
     Einige Aufgaben … 177  
     … und einige Fragen 178  
  Schleifen, die zählen 179  
     Gestrichelte Linien 179  
     Die Zählschleife mit »for« 181  
     Faule Typen 184  
     Weiter mit der for-Schleife … 187  
     … und zurück zur gestrichelten Linie 187  
     Dreiecke mit Schleife 189  
     Die Funktion »len()« 193  
     Eine Schleife für gefüllte Dreiecke 195  
     Ein bisschen eleganter und ein bisschen vielseitiger 199  
     Mini-Quiz umarbeiten 200  
     Zusammenfassung 205  
     Einige Aufgaben … 206  
     … und einige Fragen 206  
  Mehr Schleifen: Friedenslogo, Superrosette 207  
     Friedenszeichen auf der Regenbogenfahne 207  
     Die Regenbogenfahne 209  
     Das Friedenslogo 211  
     »tracer()« 213  
     n-Ecke 214  
     Wir machen daraus ein importierbares Modul 217  
     Rosetten 220  
     Farbenspiel 223  
     Farben durch Zahlen festlegen 224  
     Blau/Rot/Blau in einer Schleife 225  
     Zusammenfassung 227  
        Funktionen aus dem Modul »turtle« 227  
     Einige Aufgaben … 227  
     … und einige Fragen 228  
  Der Zufall und bedingte Schleifen 229  
     Eine torkelnde Turtle 230  
     Der Zufallsgenerator »randint()« 230  
     Torkeln 232  
     »while«-Schleifen 237  
     Zurück zum random walk 241  
     Farbige Irrfahrten 246  
     Zusammenfassung 247  
        Neue Funktionen aus dem Modul »turtle« 247  
     Einige Aufgaben ... 247  
     … und einige Fragen 248  
  Funktionen mit Wert 249  
     Manche Funktionen geben Objekte zurück 249  
     Wir definieren eine Funktion mit Rückgabewert 251  
     Flächeninhalt und Umfang eines Rechtecks 255  
     Eine Funktion, die einen String zurückgibt 257  
     Der Nachfolger in einer Tischrunde 259  
     Fak! 260  
     Langzahlarithmetik 264  
     Auch Funktionen sind Objekte 265  
     Laufzeitmessung 267  
     Was ist Nichts? 270  
     Zusammenfassung 272  
     Einige Aufgaben … 273  
     … und einige Fragen 274  
  Objekte und Methoden 275  
     Sind Turtles Objekte? 275  
     Vier dynamische Spiralen 282  
     Sequenzen 285  
        Erzeugen von Sequenzen durch Anschreiben der Elemente: 286  
        Die Länge von Sequenzen 287  
        Zugriff auf die Elemente von Sequenzen mit Indizes 288  
        Erzeugen von Sequenzen mit den Operationen + und * 290  
        Der logische Operator »in« 293  
     Methoden von Sequenzen 294  
        Methoden von Strings 295  
        Methoden von Listen: 297  
        Ändern von Listenelementen durch Zuweisungen 299  
        Poppen von Listenelementen 300  
     »krange()« 302  
     »krange()« – als Generator … 303  
     Wikipedia-Beispiel, revisited 307  
        Screen() – ein Singleton 307  
        List Comprehension 309  
     Zusammenfassung 312  
     Einige Aufgaben ... 313  
     … und einige Fragen 313  
  Wörterbücher, Dateien und der alte Cäsar 315  
     Dictionaries 315  
     Verschlüsseln 320  
        Der Cäsar-Code 320  
     Dateien 326  
        Lesen von Dateien 327  
        Aber wenn doch etwas schief läuft? 328  
        Schreiben von Dateien 330  
     Zusammenfassung 331  
     Aufgaben … 332  
     … und einige Fragen 332  
  Ereignisgesteuerte Programme 333  
     Ereignisse 333  
     »screen.onclick(goto)« 334  
     Scribble 337  
     Zeichenstift steuern 339  
     Kritzeln 340  
     Gefüllte Flächen 341  
     »undo()« und Tastatur-Ereignisse 343  
     Strichdicke einstellen 345  
     Farben 348  
     Viel mehr Farben 352  
     Hilfe 355  
     Eine andere Sorte Ereignis: Timer 357  
     Mach dir deine eigenen Turtle-Shapes 359  
     Uhr 361  
     Animation des Uhrzeigers 365  
     Datum und Uhrzeit ermitteln 366  
     Mehr Zeiger … 368  
     Zusammenfassung 369  
     Aufgaben … 370  
     … und einige Fragen 370  
  Neue Klassen definieren 371  
     Turtles, die mehr können! 371  
     Eine Unterklasse von Turtle 376  
     Namen sind Schall und Rauch, aber auch wieder nicht! 380  
     Der Konstruktor 383  
     Noch ein einfaches Beispiel: Boten 387  
        Da capo al fine! 394  
     Zusammenfassung 394  
     Eine Aufgabe 395  
     … und nach diesem Kapitel keine Fragen 395  
  Moorhuhn 397  
     Das Spiel 397  
     Zunächst zwei spezielle technische Details 399  
     Die Bewegung der Hühner: Flug und Absturz 399  
     Bilder und Turtle-Grafik 401  
     Die Benutzeroberfläche, die Klasse MoorhuhnSpiel 403  
     Die Spiellogik 406  
     Die Klasse »Huhn« 408  
     Schießen und treffen 411  
     Fine tuning Moorhuhn 415  
     Konstanten 417  
     Cursor 418  
     Töne 419  
     Moorhuhn als selbstständig ausführbares Programm 422  
  Anhang A 427  
     Python installieren (Windows, Linux, Mac OS X) 427  
        Installation von Python 3 unter Windows 427  
        Installation von Python 3 unter Linux 429  
        Installation von Python 3 unter Mac OS X 430  
     Anpassung der Installation für die Arbeit mit dem Buch 430  
        Anpassung für Windows ausführen: 430  
        Anpassung für Linux ausführen – am Beispiel Ubuntu 9.04: 432  
        Anpassung für Mac OS X ausführen: 433  
  Anhang B 435  
     Python-Programme ausführen 435  
        Der Python-Interpreter … 435  
        Ausführen von Python-Programmen mit python.exe 435  
        Ausführen von Python-Programmen durch Doppelklick 436  
        Ausführen von Python-Programmen mit grafischer Benutzeroberfläche (GUI) 437  
  Anhang C 437  
     Was in Python 2.x anders ist 437  
  Anhang D 440  
     Tkinter-Farben 440  
  Anhang E 441  
     Weitere Informationen zu Python 441  
        Deutschsprachige Internetseiten zu Python 441  
        Introducing Python 442  
  Anhang F 442  
     IDLE auf zwei Arten verwenden 442  
     Der große Unterschied 442  
  Anhang G 444  
     Das Modul turtle.py: Die Referenz 444  
     I. Funktionen für die Kontrolle der Turtle 445  
        1. Turtle-Bewegung 445  
           1.a Bewegen und zeichnen 445  
              forward(distance) | fd 445  
              back(distance) | bk | backward 445  
              right(angle) | rt 445  
              left(angle) | lt 446  
              goto(x, y=None) | setpos | setposition 446  
              setx(x) 446  
              sety(y) 446  
              setheading(to_angle) | seth 446  
              circle(radius, extent=None, steps=None) 446  
              dot(size=None, *color) 447  
              home() 447  
              stamp() 447  
              clearstamp(stamp_id) 447  
              clearstamps(n=None) 447  
              undo() 447  
              speed(speed=None) 447  
           1.b Abfrage des Zustands der Turtle 448  
              position() | pos 448  
              towards(x, y=None) 448  
              xcor() 448  
              ycor() 448  
              heading() 448  
              distance(x, y=None) 448  
           1.c Einstellungen und Maßeinheiten 448  
              degrees(fullcircle=360.0) 448  
              radians() 448  
        2. Steuerung des Zeichenstiftes 448  
           2.a Eigenschaften für das Zeichnen 448  
              pendown() | pd | down 448  
              penup() | pu | up 449  
              pensize(width=None) | width 449  
              pen(pen=None, **pendict) 449  
              isdown() 449  
           2.b Farben einstellen und abfragen 449  
              color(*args) 449  
              pencolor(*args) 450  
              fillcolor(*args) 450  
           2.c Füllen 450  
              filling() 450  
              begin_fill() 450  
              end_fill() 450  
           2.d Weitere Funktionen für die Grafik 450  
              reset() 450  
              clear() 450  
              write(arg,move=False,align='left', font=('Arial',8,'normal')) 450  
        3. Zustand der Turtle 451  
           showturtle() | st 451  
           hideturtle() | ht 451  
           isvisible() | shownp 451  
           shape(name=None) 451  
           resizemode(rmode=None) 451  
           shapesize(stretch_wid=None, stretch_len=None, outline=None) | turtlesize 451  
           tiltangle(angle=None) 451  
           tilt(angle) 452  
           shearfactor(shear=None) 452  
           shapetransform(t11=None, t12=None, t21=None, t22=None) 452  
           get_shapepoly() 452  
        4. Turtle-Ereignisse 452  
           onclick(fun, btn=1) 452  
           onrelease(fun, btn) 452  
           ondrag(fun, btn) 452  
        5. Spezielle Turtle-Funktionen 453  
           begin_poly() 453  
           end_poly() 453  
           get_poly() 453  
           clone() 453  
           getturtle() | getpen 453  
           getscreen() 453  
           setundobuffer(size) 453  
           undobufferentries() 453  
     II. Funktionen für die Kontrolle des Turtle-Grafik-Fensters 453  
        6. Fenster-Aktionen 453  
           bgcolor(*args) 453  
           bgpic(picname=None) 453  
           clearscreen() 454  
           resetscreen() 454  
           screensize(canvwidth=None, canvheight=None, bg=None) 454  
           setworldcoordinates(llx, lly, urx, ury) 454  
        7. Kontrolle der Animation 454  
           tracer(flag=None, delay=None) ! Methode des Grafik-Fensters ! 454  
           update() 454  
           delay(delay=None) 454  
        8. Ereignisse des Grafik-Fensters 455  
           listen(x=None, y=None) 455  
           onkeyrelease(fun, key=None) | onkey 455  
           onkeypress(fun, key=None) | onkeyrelease 455  
           onscreenclick(fun, btn=1) 455  
           ontimer(fun, t=0) 455  
           mainloop() 455  
        9. Einstellungen und spezielle Funktionen 455  
           setup(width=0.5, height=0.75, startx=None, starty=None) 455  
           mode(mode=None) 456  
           colormode(cmode=None) 456  
           getcanvas() 456  
           getshapes() 456  
           register_shape(name, shape=None) | addshape 456  
           turtles() 457  
           title(titlestring) 457  
           window_height() 457  
           window_width() 457  
           bye() 457  
           exitonclick() 457  
        10. Eingabe-Funktionen 457  
           textinput(title, prompt) 457  
           numinput(title, prompt, default=None, minval=None, maxval=None) 457  
     III. Die Datei »turtle.cfg« 457  
  Stichwortverzeichnis 459  

Kategorien

Service

Info/Kontakt