179
7
Schleifen, die zählen
Du hattest in den letzten Kapiteln immer wieder Aufgaben zu lösen, bei
denen sich bestimmte Anweisungsfolgen wiederholt haben. Manchmal war
es richtig öde, diese Anweisungsfolgen im IDLE-Editor zu kopieren. Außer-
dem hatten wir auf diese Weise auch nicht die Möglichkeit, die Anzahl der
Wiederholungen variabel zu gestalten.
Python bietet, wie alle Programmiersprachen, die Möglichkeit, den Pro-
grammablauf so zu kontrollieren, dass Anweisungen oder Anweisungsblö-
cke wiederholt werden können. Diese Form der Programmablaufkontrolle
nennt man
Schleife
.
In diesem Kapitel lernst du ...
$
wie man mit Python Schleifen programmiert.
$
einiges über Tupel und
range()
– Objekte, statische und dynamische
Wertevorräte..
$
wie man mit Python Tupel entpacken kann.
$
wie man unser Quizprogramm flexibler gestaltet, indem man Daten und
Programmablauf voneinander trennt.
180
Schleifen, die zählen
Kapitel
7
Gestrichelte Linien
Für die folgende interaktive Übung ist es ganz nützlich, ein Fenster im
Hochformat zu haben. Um die Größe des Turtle-Grafik-Fensters zu bestim-
men, gibt es im Modul
turtle
die Funktion
setup(breite, hoehe)
.
Ganz leicht auszuprobieren.
>
Starte IPI-T
URTLE
G
RAFIK
und mach mit!
>>> from turtle import *
>>> setup(200,400)
>>> shape("arrow")
>>> pensize(3)
Ein einfacher Vorgang, bei dem immer wieder dasselbe wiederholt werden
muss, ist das Zeichnen gestrichelter Linien. Wir sehen uns das Arbeiten mit
Schleifen an diesem Beispiel an:
>
Da hier offenbar unsere Turtle ziemlich viel springen muss, importiere
auch die Funktion
jump
aus
mytools.py
!
>>> from mytools import jump
>>> forward(10)
>>> jump(10) # und diese zwei Anweisungen
>>> ... # ein paar Mal
Eine gestrichelte Linie, in Handarbeit erzeugt.
So entsteht tatsächlich eine gestrichelte Linie. Aber wie können wir diese
Wiederholungen automatisieren?
>
Mach weiter mit:
>>> reset(); pensize(3)
>>> for i in (1, 2, 3):
forward(10)
jump(10)
Die Turtle hat drei Striche gezeichnet!
>>> reset()
>>> for i in (1, 2, 3, 4, 5):
forward(10)
jump(10)
Die Turtle hat fünf Striche gezeichnet – und fünf Zwischenräume über-
sprungen. Eigentlich sollte am Ende noch ein Strich hin:
>>> forward(10)

Get Python für Kids now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.