Mit Hilfe der While-Schleife, können wir Code wiederholt ausführen. Vor jedem Ausführen der Schleife wird eine Bedingung überprüft. Ergibt diese True
, dann wird der Schleifeninhalt ausgeführt. Ergibt sie False
, dann wird die Schleife beendet und der nachfolgende Code ausgeführt. Der Schleifeninhalt wird durch Einrücken gekennzeichnet.
solange die Bedingung gilt wiederhole…
Syntax
while bedingung:
#mach etwas
bedingung
ist ein Ausdruck oder der Aufruf eines Unterprogramms der True
oder False
ergibt.
Beispiele/Aufgaben
Aufgabe: feste Anzahl Wiederholungen
Um eine feste Anzahl Wiederholungen zu erreichen, verwenden wir eine Zählvariable die nach jedem Durchlauf erhöht wird:
JupyterLabwhile_zaehlen.ipynb
Beispiel: «zufälliger» Abbruch der Schleife
Wir simulieren Würfelwürfe mit Hilfe von Zufallszahlen. Wir wollen zählen, wie viele Würfe wir brauchen, bis wir eine 6 werfen. Bei einer 6 wird die Schleife abgebrochen und die Anzahl benötigter Würfe ausgegeben:
JupyterLabwhile_zufall.ipynb
Aufgabe
Simuliere Würfe mit mehreren Würfeln. Beim Yatzy hat man z.B. 6 Würfel.
Wie gross ist die Wahrscheinlichkeit, dass man im ersten Versuch alle 6 gleich hat?
Zusatzaufgabe
Zusatzaufgabe: «𝛑 mit Monte-Carlo»
Versuche eine möglichst genaue Näherung für 𝛑 mit der unten beschriebenen Monte-Carlo-Methode zu bestimmen.
Als Erweiterung kannst du den Versuch auch grafisch darstellen.
Tipp: 𝛑 mit Monte-Carlo
Die Formel zur Berechnung der Fläche eines Kreises, beinhaltet 𝛑. Wir verteilen Punkte zufällig auf eine Fläche, die zum Teil von einem Kreis bedeckt ist. Nun stehen die Anzahl «Treffer» auf den Kreis im Verhältnis zu der Fläche des Kreises. So können wir 𝛑 statistisch bestimmen.
Zur Einfachheit schauen wir einen Viertelkreis mit Radius 1 an und verteilen die Punkte zufällig im umgebenden Quadrat:
Fläche des Quadrates:
Fläche des Viertelkreises:
Die Wahrscheinlichkeiten, dass ein zufällig gewählter Punkt innerhalb des Viertelkreises liegt (
Wenn wir dann noch nach