# Theorie III: For-Schleifen

Schleifen dienen dazu, Code wiederholt auszuführen und sind deshalb insbesondere geeignet, um Copy & Paste zu vermeiden.

In der Informatik gibt es im Wesentlichen zwei verschiedene Schleifen. Die sogenannte **Zählschleife** und die **bedingte Schleife**. Wir betrachten hier nur die Zählschleife.

**Zählschleife**: Sie wird verwendet, wenn man im Vorfeld weiß, wie oft ein bestimmter Code ausgeführt werden soll. Das Zählen der Durchläufe wird mit einer Zählvariablen realisiert. Die Zählvariable darf im Code verwendet werden.

Syntax:                                                                                 

| for i in range(100):  |
|:----------------------|
| 100 Durchgänge mit der Zählvariable `i` |

Hinweise:

* `i in range(100)` bedeutet, dass die Variable `i` nacheinander die Werte 0,1,2,3,… bis 99 annimmt.
* `i in range(5,20)` bedeutet, dass die Variable `i` nacheinander die Werte 5, 6,… bis 19 annimmt.
* Die Variable `i` wird auch Zählvariable genannt. Wir könnten anstelle von `i` eine beliebige andere Variable als Zählvariable verwenden. Üblich ist hier die Verwendung der Buchstaben `i`, `j` und `k`.

*Beispiel Zählschleife:*

```python
sum = 0

for j in range(1,5):
    sum = sum + j
    print(sum.to_s)

print(“Endergebnis: “ + sum.to_s)
```

Aufgabe 1:

* Geben Sie die Ausgabe des Programms Zählschleife im obigen Beispiel an - nach Möglichkeit ohne es in VS Code einzugeben.
* Schreiben Sie Folgendes in Ihr Heft:
  * Eine Zählschleife oder auch for-Schleife wird verwendet um Code wiederholt auszuführen. Die Anzahl an Wiederholungen ist dabei vorher bekannt.
  * `for i in range(100):`
  * `CODE`

Aufgabe 2 (Arbeit mit dem Spiel):

* Beschreiben Sie, wie die Bewegung des Hasen nach links durchgeführt wird.
* Gehen Sie dabei insbesondere auf den Verwendungszweck der Schleifen ein.
* Wo werden im Spiel weitere Schleifen verwendet? Beschreiben Sie auch hier den Verwendungszweck der Schleifen. 
* Überlegen Sie sich, wo in Ihrem Spiel noch eine Schleife eingebaut werden könnte und machen Sie das.
  * Mögliches Beispiel: Beim Setzen des Anfangszustands: Es werden 5 Hasen an zufällige Stellen auf dem Spielfeld gesetzt (Zufallszahl zwischen 0 und 9 in Python: `random.randint(0,9)` - `random` muss zudem importiert werden (siehe [Theorie II](08-bedingungen.md#aufgabe-3)))

 