O'Reilly logo

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Python für Kids

Book Description

  • Kinderleichtes Programmieren mit der plattformunabhänigen Programmiersprache Python
  • Einführung in die objektorientierte Programmierung
  • Auf der CD: Aktuelle Version von Python, das Grafik-Modul xturtle und alle Programmbeispiele und Aufgabenlösungen aus dem Buch
Einer der "Kids-Klassiker" - aktualisiert in der 4. Auflage!

Gregor Lingl zeigt in diesem Buch, woraus Python besteht und wie leicht man damit Ideen in Programme umsetzen kann. Von Grund auf lernst du, einfache Programme zu schreiben und mit einem Geheimcode Texte zu verschlüsseln. Du wirst selbst ein kleines Zeichenprogramm entwickeln, eine Uhr und noch einiges mehr. Am Ende lernst du sogar die objektorientierten Eigenschaften von Python kennen, um anschließend damit ein komplettes Action-Spiel zu programmieren.

Table of Contents

  1. Python für Kids
  2. Inhaltsverzeichnis (1/2)
  3. Inhaltsverzeichnis (2/2)
  4. Vorwort
  5. Einleitung
    1. Dies ist ein Buch über Programmieren
    2. Ist dieses Buch das richtige für dich?
    3. Die Programmiersprache ist Python
    4. Turtle-Grafik
    5. Fehler
    6. Wie arbeitest du mit diesem Buch?
      1. Fragen und Aufgaben
      2. Arbeitsschritte
      3. Probleme, Notfälle, Vertiefungen
      4. Wichtige Stellen im Buch
      5. Programmentwürfe
      6. Muster
    7. Zwei wichtige Informationsquellen zum Buch
      1. Die CD-ROM zum Buch
      2. Die Website zum Buch: python4kids.net
    8. Beim Schreiben dieses Buches …
  6. Was ist Programmieren?
    1. Wozu dienen Programmiersprachen?
    2. Unser Werkzeug: die IDLE
    3. Die Arbeit mit dem interaktiven Python-Interpreter
    4. Rechnen
    5. sqrt ist eine Funktion
    6. Schreiben
    7. Dein erstes Programm
    8. Wir erweitern unser erstes Programm
    9. Syntax-Colouring: bunte Farben für den besseren Durchblick
    10. Mit Mustern arbeiten
    11. Zusammenfassung
    12. Zum Abschluss noch ein paar Übungsaufgaben ...
    13. ... und ein paar Fragen
  7. Was Schildkröten mit Grafik zu tun haben: Turtle-Grafik
    1. Die Turtle und der IPI
    2. Wie macht die Turtle das?
    3. Hilfe!
    4. Ein rotes Quadrat
    5. Füllen – und auf die Spitze!
    6. Programmcode kopieren
    7. Und jetzt drei Dreiecke!
    8. Programm codieren
    9. Noch ein paar Turtle-Grafik-Funktionen
    10. Es müssen nicht immer Ecken sein
    11. Schildkröte verstecken! Und weitere Kleinigkeiten
    12. Zusammenfassung
      1. Funktionen aus dem Modul »turtle«
    13. Einige Aufgaben ...
    14. ... und einige Fragen
  8. Namen
    1. Verschieden große Dreiecke
    2. Spielerei mit Namen
    3. Wir machen die Dreiecksseite variabel
    4. Dinge brauchen Namen
    5. Übung: Verschieden große Quadrate
    6. Und nun zu etwas ganz anderem
    7. Zahleneingaben
    8. Grafik-Programm mit Dialog
    9. Zusammenfassung
    10. Einige Aufgaben …
    11. … und einige Fragen:
  9. Wir erzeugen unsere eigenen Funktionen
    1. Vorbereitung – eine kleine Vereinfachung
    2. Wir (er)finden die Funktion dreieck
    3. Im Direktmodus Funktionen definieren
    4. Dreieck-Programm, heute neu
    5. Wie wird »dreieck07.py« ausgeführt?
    6. Noch ein Schritt weiter …
    7. Noch eine Idee …
    8. Welche ist die bessere Variante?
    9. Mini-Quiz
    10. Zunächst nur eine Frage
    11. Mini-Quiz erweitern
    12. Eine Funktion verwenden
    13. Mehrfachverzweigung
    14. Zusammenfassung
    15. Einige Aufgaben …
    16. … und einige Fragen
  10. Funktionen mit Parametern
    1. Noch einmal Dreiecke
    2. Das geht auch mit gefüllten Dreiecken
    3. Funktionen mit mehreren Parametern
    4. Dreiecksmuster
    5. jump()
    6. Ran ans Dreiecksmuster
    7. »jump()« ist auch für später nützlich
    8. Seifenoper
      1. Verwendung der print()-Funktion mit mehreren Argumenten
      2. Verkettung von Strings
      3. Formatierungsmarken und die format()-Methode
      4. Erklärende Variablennamen
    9. Zusammenfassung
    10. Einige Aufgaben …
    11. … und einige Fragen
  11. Von oben nach unten und zurück
    1. Aufgabenstellung: Yinyang
    2. Weg 1: Top-down. Programmieren ohne Computer
      1. Die Funktion »yin()«
      2. Die Funktion »yinfigur()«
      3. Die Funktion »punkt()«
    3. Weg 2: Bottom-up. Schrittweise von unten nach oben (1/3)
    4. Weg 2: Bottom-up. Schrittweise von unten nach oben (2/3)
    5. Weg 2: Bottom-up. Schrittweise von unten nach oben (3/3)
    6. »jump()«, revisited
    7. Zusammenfassung
    8. Einige Aufgaben …
    9. … und einige Fragen
  12. Schleifen, die zählen
    1. Gestrichelte Linien
    2. Die Zählschleife mit »for«
    3. Faule Typen
    4. Weiter mit der for-Schleife …
    5. … und zurück zur gestrichelten Linie
    6. Dreiecke mit Schleife
    7. Die Funktion »len()«
    8. Eine Schleife für gefüllte Dreiecke
    9. Ein bisschen eleganter und ein bisschen vielseitiger
    10. Mini-Quiz umarbeiten
    11. Zusammenfassung
    12. Einige Aufgaben …
    13. … und einige Fragen
  13. Mehr Schleifen: Friedenslogo, Superrosette
    1. Friedenszeichen auf der Regenbogenfahne
    2. Die Regenbogenfahne
    3. Das Friedenslogo
    4. »tracer()«
    5. n-Ecke
    6. Wir machen daraus ein importierbares Modul
    7. Rosetten
    8. Farbenspiel
    9. Farben durch Zahlen festlegen
    10. Blau/Rot/Blau in einer Schleife
    11. Zusammenfassung
      1. Funktionen aus dem Modul »turtle«
    12. Einige Aufgaben …
    13. … und einige Fragen
  14. Der Zufall und bedingte Schleifen
    1. Eine torkelnde Turtle
    2. Der Zufallsgenerator »randint()«
    3. Torkeln
    4. »while«-Schleifen
    5. Zurück zum random walk
    6. Farbige Irrfahrten
    7. Zusammenfassung
      1. Neue Funktionen aus dem Modul »turtle«
    8. Einige Aufgaben ...
    9. … und einige Fragen
  15. Funktionen mit Wert
    1. Manche Funktionen geben Objekte zurück
    2. Wir definieren eine Funktion mit Rückgabewert
    3. Flächeninhalt und Umfang eines Rechtecks
    4. Eine Funktion, die einen String zurückgibt
    5. Der Nachfolger in einer Tischrunde
    6. Fak!
    7. Langzahlarithmetik
    8. Auch Funktionen sind Objekte
    9. Laufzeitmessung
    10. Was ist Nichts?
    11. Zusammenfassung
    12. Einige Aufgaben …
    13. … und einige Fragen
  16. Objekte und Methoden
    1. Sind Turtles Objekte?
    2. Vier dynamische Spiralen
    3. Sequenzen
      1. Erzeugen von Sequenzen durch Anschreiben der Elemente:
      2. Die Länge von Sequenzen
      3. Zugriff auf die Elemente von Sequenzen mit Indizes
      4. Erzeugen von Sequenzen mit den Operationen + und *
      5. Der logische Operator »in«
    4. Methoden von Sequenzen
      1. Methoden von Strings
      2. Methoden von Listen:
      3. Ändern von Listenelementen durch Zuweisungen
      4. Poppen von Listenelementen
    5. »krange()«
    6. »krange()« – als Generator …
    7. Wikipedia-Beispiel, revisited
      1. Screen() – ein Singleton
      2. List Comprehension
    8. Zusammenfassung
    9. Einige Aufgaben ...
    10. … und einige Fragen
  17. Wörterbücher, Dateien und der alte Cäsar
    1. Dictionaries
    2. Verschlüsseln
      1. Der Cäsar-Code
    3. Dateien
      1. Lesen von Dateien
      2. Aber wenn doch etwas schief läuft?
      3. Schreiben von Dateien
    4. Zusammenfassung
    5. Aufgaben …
    6. … und einige Fragen
  18. Ereignisgesteuerte Programme
    1. Ereignisse
    2. »screen.onclick(goto)«
    3. Scribble
    4. Zeichenstift steuern
    5. Kritzeln
    6. Gefüllte Flächen
    7. »undo()« und Tastatur-Ereignisse
    8. Strichdicke einstellen
    9. Farben
    10. Viel mehr Farben
    11. Hilfe
    12. Eine andere Sorte Ereignis: Timer
    13. Mach dir deine eigenen Turtle-Shapes
    14. Uhr
    15. Animation des Uhrzeigers
    16. Datum und Uhrzeit ermitteln
    17. Mehr Zeiger …
    18. Zusammenfassung
    19. Aufgaben …
    20. … und einige Fragen
  19. Neue Klassen definieren
    1. Turtles, die mehr können!
    2. Eine Unterklasse von Turtle
    3. Namen sind Schall und Rauch, aber auch wieder nicht!
    4. Der Konstruktor
    5. Noch ein einfaches Beispiel: Boten (1/2)
    6. Noch ein einfaches Beispiel: Boten (2/2)
      1. Da capo al fine!
    7. Zusammenfassung
    8. Eine Aufgabe
    9. … und nach diesem Kapitel keine Fragen
  20. Moorhuhn
    1. Das Spiel
    2. Zunächst zwei spezielle technische Details
    3. Die Bewegung der Hühner: Flug und Absturz
    4. Bilder und Turtle-Grafik
    5. Die Benutzeroberfläche, die Klasse MoorhuhnSpiel
    6. Die Spiellogik
    7. Die Klasse »Huhn«
    8. Schießen und treffen
    9. Fine tuning Moorhuhn
    10. Konstanten
    11. Cursor
    12. Töne
    13. Moorhuhn als selbstständig ausführbares Programm
  21. Anhang A
    1. Python installieren (Windows, Linux, Mac OS X)
      1. Installation von Python 3 unter Windows
      2. Installation von Python 3 unter Linux
      3. Installation von Python 3 unter Mac OS X
    2. Anpassung der Installation für die Arbeit mit dem Buch
      1. Anpassung für Windows ausführen:
      2. Anpassung für Linux ausführen – am Beispiel Ubuntu 9.04:
      3. Anpassung für Mac OS X ausführen:
  22. Anhang B
    1. Python-Programme ausführen
      1. Der Python-Interpreter …
      2. Ausführen von Python-Programmen mit python.exe
      3. Ausführen von Python-Programmen durch Doppelklick
      4. Ausführen von Python-Programmen mit grafischer Benutzeroberfläche (GUI)
  23. Anhang C
    1. Was in Python 2.x anders ist
  24. Anhang D
    1. Tkinter-Farben
  25. Anhang E
    1. Weitere Informationen zu Python
      1. Deutschsprachige Internetseiten zu Python
      2. Introducing Python
  26. Anhang F
    1. IDLE auf zwei Arten verwenden
    2. Der große Unterschied
  27. Anhang G
    1. Das Modul turtle.py: Die Referenz
    2. I. Funktionen für die Kontrolle der Turtle
      1. 1. Turtle-Bewegung
        1. 1.a Bewegen und zeichnen
          1. forward(distance) | fd
          2. back(distance) | bk | backward
          3. right(angle) | rt
          4. left(angle) | lt
          5. goto(x, y=None) | setpos | setposition
          6. setx(x)
          7. sety(y)
          8. setheading(to_angle) | seth
          9. circle(radius, extent=None, steps=None)
          10. dot(size=None, *color)
          11. home()
          12. stamp()
          13. clearstamp(stamp_id)
          14. clearstamps(n=None)
          15. undo()
          16. speed(speed=None)
        2. 1.b Abfrage des Zustands der Turtle
          1. position() | pos
          2. towards(x, y=None)
          3. xcor()
          4. ycor()
          5. heading()
          6. distance(x, y=None)
        3. 1.c Einstellungen und Maßeinheiten
          1. degrees(fullcircle=360.0)
          2. radians()
      2. 2. Steuerung des Zeichenstiftes
        1. 2.a Eigenschaften für das Zeichnen
          1. pendown() | pd | down
          2. penup() | pu | up
          3. pensize(width=None) | width
          4. pen(pen=None, **pendict)
          5. isdown()
        2. 2.b Farben einstellen und abfragen
          1. color(*args)
          2. pencolor(*args)
          3. fillcolor(*args)
        3. 2.c Füllen
          1. filling()
          2. begin_fill()
          3. end_fill()
        4. 2.d Weitere Funktionen für die Grafik
          1. reset()
          2. clear()
          3. write(arg,move=False,align='left', font=('Arial',8,'normal'))
      3. 3. Zustand der Turtle
        1. showturtle() | st
        2. hideturtle() | ht
        3. isvisible() | shownp
        4. shape(name=None)
        5. resizemode(rmode=None)
        6. shapesize(stretch_wid=None, stretch_len=None, outline=None) | turtlesize
        7. tiltangle(angle=None)
        8. tilt(angle)
        9. shearfactor(shear=None)
        10. shapetransform(t11=None, t12=None, t21=None, t22=None)
        11. get_shapepoly()
      4. 4. Turtle-Ereignisse
        1. onclick(fun, btn=1)
        2. onrelease(fun, btn)
        3. ondrag(fun, btn)
      5. 5. Spezielle Turtle-Funktionen
        1. begin_poly()
        2. end_poly()
        3. get_poly()
        4. clone()
        5. getturtle() | getpen
        6. getscreen()
        7. setundobuffer(size)
        8. undobufferentries()
    3. II. Funktionen für die Kontrolle des Turtle-Grafik-Fensters
      1. 6. Fenster-Aktionen
        1. bgcolor(*args)
        2. bgpic(picname=None)
        3. clearscreen()
        4. resetscreen()
        5. screensize(canvwidth=None, canvheight=None, bg=None)
        6. setworldcoordinates(llx, lly, urx, ury)
      2. 7. Kontrolle der Animation
        1. tracer(flag=None, delay=None) ! Methode des Grafik-Fensters !
        2. update()
        3. delay(delay=None)
      3. 8. Ereignisse des Grafik-Fensters
        1. listen(x=None, y=None)
        2. onkeyrelease(fun, key=None) | onkey
        3. onkeypress(fun, key=None) | onkeyrelease
        4. onscreenclick(fun, btn=1)
        5. ontimer(fun, t=0)
        6. mainloop()
      4. 9. Einstellungen und spezielle Funktionen
        1. setup(width=0.5, height=0.75, startx=None, starty=None)
        2. mode(mode=None)
        3. colormode(cmode=None)
        4. getcanvas()
        5. getshapes()
        6. register_shape(name, shape=None) | addshape
        7. turtles()
        8. title(titlestring)
        9. window_height()
        10. window_width()
        11. bye()
        12. exitonclick()
      5. 10. Eingabe-Funktionen
        1. textinput(title, prompt)
        2. numinput(title, prompt, default=None, minval=None, maxval=None)
    4. III. Die Datei »turtle.cfg«
  28. Stichwortverzeichnis (1/2)
  29. Stichwortverzeichnis (2/2)