GeezerVisonThe World Wide Web, restored to 800 pixels of glory. |
| Home|About|Gaming cabinet|Archives|How it works|Starter sites |
GeezerVison is showing opentechschool.github.io — Schleifen — Introduction to Programming with Python Schleifen¶Einführung¶Wie du sicher bemerkt hast, enthalten unsere Programme oft Wiederholungen. In Python gibt es ein mächtiges Konzept genannt Schleifen (Jargon: Iterationen), welches wir später genauer erkunden werden. Probieren wir doch zunächst mal dieses simple Beispiel aus: for name in "John", "Sam", "Jill": print("Hello " + name) Dies ist außerordentlich hilfreich wenn wir etwas mehrere Male tun möchten — beispielsweise die Umrandung einer geometrischen Form zeichnen — aber den Programmcode dafür nur einmal schreiben möchten. Hier ist eine andere Version einer Schleife: for i in range(10): print(i) Beachte dass wir nur eine einzige Programme Zeile mit Die Du kannst auch Elemente Deiner Wahl in einer Schleife verarbeiten: total = 0 for i in 5, 7, 11, 13: print(i) total = total + i print(total) Schreib das Beispiel aus und führ es mit Python aus um zu überprüfen, ob es so funktioniert wie du möchtest. Bemerkung Beachte wie oben die Zeilen, die wiederholt werden, die sind die eingerückt sind. Das ist ein wichtiges Konzept in Python - das ist wie es weiß welche Zeilen zur Manchmal möchtest du Code wiederholen aber scherst dich nicht um den Wert von der Variable for _ in range(10): print("Hello!") Du magst dich vielleicht über die Variable for drink in list_of_beverages: print("Would you like a " + drink + "?") Das ist sofort klarer zu verstehen als wenn wir Eine gestrichelte Linie zeichnen¶Übung¶Zeichne eine gestrichelte Linie. Du kannst die Schildkröte bewegen ohne dass sie zeichnet, indem Du die Funktion
Lösung¶for i in range(10): turtle.forward(15) turtle.penup() turtle.forward(5) turtle.pendown() Bonus¶Kannst du die Striche immer größer werden lassen?
Hinweis Verwirrt? Schau dir for i in range(10): print(i) # write more code here Kannst du Kommentare¶Im obigen Beispiel wird die Zeile die mit Kommentare können auch an das Zeilenende gepackt werden, wie hier: turtle.left(20) # tilt our next square slightly Effizientere Quadrate¶Übung¶Die Quadrate die wir am Anfang des Materials gemalt haben erforderten viele wiederholten Quelltextzeilen. Kannst du ein Programm zum Malen von Quadraten mit weniger Zeilen schreiben wenn du Schleifen benutzt? Lösung¶for _ in range(4): turtle.forward(100) turtle.left(90) Bonus¶Probier Schleifen zu verschachteln (nesting) indem du eine direkt in die andere packst, mit einigen Malanweisungen die in beiden drin sind. Das könnte in etwa so aussehen: for ...:
for ...:
# drawing code inside the inner loop goes here
...
# you can put some code here to move
# around after!
...
Ersetz |
| You are visitor 01402503 — GeezerVison does not store the pages you look up. Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required. |