Sie mögen Pi aber können sich leider nur ganz wenige Nachkommastellen merken.
Glücklicherweise lässt sich Pi wie folgt annähern:
pi = 4 * (1 - (1/3) + (1/5) - (1/7) + ...)
Dabei wird die Annäherung an Pi immer genauer, je mehr Brüche aufaddiert werden.1
Setzen Sie eine Annäherung von Pi in Python um. Dabei soll eine Variable n
angeben, wie viele der Brüche aufaddiert werden. Das Programm soll Ihr Ergebnis am Ende auf der Kommandozeile ausdrucken.
Ergänzen Sie das Programm so, dass die Anzahl an Iterationen n
zu Beginn des Programms von der Kommandozeile eingelesen wird. Sie können dabei davon ausgehen, dass nur Zahlen eingegeben werden.
Stellen Sie sicher, dass nur positive Iterationszahlen eingegeben werden können.
Im Sinne der Interdisziplinarität möchten Sie gerne von den Erkenntnissen verwandter Fachbereiche profitieren. Eine befreundete Physikerin hat Sie von folgendem Fakt2 überzeugt, der ihre Berechnungen signifikant beschleunigt: pi = 3
Sorgen Sie dafür, dass auch Physikstudierende ihr Programm sinnvoll nutzen können, indem die alternative Berechnung von pi
genutzt wird, wenn als Iterationszahl -1
eingegeben wird.
Ergänzen Sie die Ausgabe in diesem Fall außerdem um einen Physikerwitz3 ihrer Wahl.
Andere Approximationen von Pi liefern schneller gute Ergebnisse. Setzen Sie eine andere von Ihnen gewählte Approximationsformel um und ersetzen Sie die bisher implementierte Formel damit. Vergleichen Sie, ob schneller eine gute Approximation an Pi erreicht wird.
Wenn Sie nur eine gewisse Anzahl an Nachkommastellen drucken wollen, können sie dazu format-Strings verwenden: print(f'{pi:.6f}')
druckt pi
mit 6 Nachkommastellen aus
Aufgrund technischer Limits ist zu erwarten, dass die Approximation nie genauer als ca. 15 Nachkommastellen wird, wenn der Standard-Python-Datentyp für floating point Zahlen verwendet wird. Höhere Genauigkeit kann durch die Verwendung von Bibliotheken erreicht werden. ↩︎
Approximationen und so: https://xkcd.com/2205 ↩︎