Zahl Pi abfrage in Python... 3.141592?
Guten Tag, Ich suche schon länger nach einem Python script, was wenn man eine Taste Drückt die nächste Ziffer von Pi anzeigt. Kann mir jemand dort Helfen? Zusammen gefasst ist es ein Python Script was immer wenn man eine belibige Taste drückt,die nächste Ziffer von PI anzeigt.... es ist für einen kleinen Wettbewerb... Lg und dankschön im vorraus für alle Antworten ,.,,, 3.141592....
3 Antworten
import math
pi = ('%.48f' % math.pi)[2:]
print('PI = 3. ...')
for i in range(len(pi)):
if input('Weiter mit ENTER ("x" zum Beenden) ... '):
break
print('%d. Stelle: %s' % (i+1, pi[i]))
print('Ende.')
Sollte aber lauffähig sein. :)
Das ist aber nur eine Quick'n'Dirty Lösung da maximal die ersten 48 Stellen ausgegeben werden. Wenn du mehr willst, musst du die BBP-Formel o. ä. implementieren, oder PI mit einem anderen Algorithmus auf ein paar Tausend stellen im Voraus berechnen, und darauf hoffen, dass keiner so oft Enter drückt. :)
Viel spaß! :)
Diese Frage kann schwer werden, wenn du mehr als ca 16 Stellen von Pi ausdrucken willst.
Ein relativ leichte Lösung kann man mit den Python Paketen 'bigfloat' oder 'mpmath' erzielen - ggf muss man diese erst installieren.
Dann geht es mit :
#!/usr/bin/python
from bigfloat import precision, const_pi
Dezimalstellen=100
# precision wird in Dualsystem angegeben, daher durch log10(2) <= 0.3 teilen
PI_b= const_pi(precision(Dezimalstellen/0.3))
PI= str(PI_b)
# print(PI,len(PI))
for d in PI :
print(d)
''' alternativ mit dem mpmath Paket '''
from mpmath import workdps, pi
with workdps(Dezimalstellen) :
PI= str(pi)
print(PI)
Deutlich schwerer wird es, wenn man die Ziffern von Pi einzeln nacheinander berechnen will, ohne alle vorherigen Ziffern zu berechnen.
Siehe dazu die folgenden Webseiten:
Ich vermute mal, dass du mit dieser Hilfe hier dein Skript hinbekommst:
https://www.programiz.com/python-programming/methods/built-in/next
Speicher also sehr viele Nachkommastellen von Pi als String, wandle diesen in eine Liste um und wende dann das obige an. Natürlich mit User Input usw.
Bei weiteren konkreten Fragen, kannst du die gerne als Kommentar stellen.