mein Kampf um das Verständnis von Decimal geht weiter...
Inspiriert von folgender Seite
https://www.jpl.nasa.gov/edu/news/2016/3/16/how-many-decimals-of-pi-do-we-really-need/
habe ich folgendes Programm entworfen, um die im Artikel geschilderten Fakten für mich zu veranschaulichen.
Code: Alles auswählen
# https://www.jpl.nasa.gov/edu/news/2016/3/16/how-many-decimals-of-pi-do-we-really-need/
from scipy import constants
import math
from decimal import Decimal
from decimal import getcontext
getcontext().prec = 30
pi_100=3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679
pi_30=3.141592653589793238462643383279
radius_v=constants.astronomical_unit*156.21 # Voyager; Am 8. Mai 2022 ist Voyager 1 ca. 156,21 Astronomische Einheiten (AE) von der Sonne entfernt, das sind etwa 23,37 Milliarden Kilometer
radius_e=6378 #Erde
radius_1=1
radius_u=constants.light_year*4.6508*10**10 #Universe
for i in range(0,20):
pi=round(math.pi,i)
circle=radius_1*2*pi #Kreisumfang ->r²pi<-
print("Pi",i,"Stellen = ",round(math.pi,i),"=",circle)
print()
for i in range(0,20):
pi=round(pi_30,i)
circle=radius_1*2*pi #Kreisumfang ->r²pi<-
print("Pi",i,"Stellen = ",round(pi,i),"=",circle)
Ich schaff es jetzt einfach nicht, Decimal() so einzubinden, dass sich beim Ergebnis Pi ab der 15. Stelle nicht wiederholt. Math.pi erzeugt ja Pi mit 15 stellen, aber wie komme ich an mehr?Pi 0 Stellen = 3.0 = 6.0
Pi 1 Stellen = 3.1 = 6.2
Pi 2 Stellen = 3.14 = 6.28
Pi 3 Stellen = 3.142 = 6.284
Pi 4 Stellen = 3.1416 = 6.2832
Pi 5 Stellen = 3.14159 = 6.28318
Pi 6 Stellen = 3.141593 = 6.283186
Pi 7 Stellen = 3.1415927 = 6.2831854
Pi 8 Stellen = 3.14159265 = 6.2831853
Pi 9 Stellen = 3.141592654 = 6.283185308
Pi 10 Stellen = 3.1415926536 = 6.2831853072
Pi 11 Stellen = 3.14159265359 = 6.28318530718
Pi 12 Stellen = 3.14159265359 = 6.28318530718
Pi 13 Stellen = 3.1415926535898 = 6.2831853071796
Pi 14 Stellen = 3.14159265358979 = 6.28318530717958
Pi 15 Stellen = 3.141592653589793 = 6.283185307179586
Pi 16 Stellen = 3.141592653589793 = 6.283185307179586
Pi 17 Stellen = 3.141592653589793 = 6.283185307179586
Pi 18 Stellen = 3.141592653589793 = 6.283185307179586
Pi 19 Stellen = 3.141592653589793 = 6.283185307179586
Pi 0 Stellen = 3.0 = 6.0
Pi 1 Stellen = 3.1 = 6.2
Pi 2 Stellen = 3.14 = 6.28
Pi 3 Stellen = 3.142 = 6.284
Pi 4 Stellen = 3.1416 = 6.2832
Pi 5 Stellen = 3.14159 = 6.28318
Pi 6 Stellen = 3.141593 = 6.283186
Pi 7 Stellen = 3.1415927 = 6.2831854
Pi 8 Stellen = 3.14159265 = 6.2831853
Pi 9 Stellen = 3.141592654 = 6.283185308
Pi 10 Stellen = 3.1415926536 = 6.2831853072
Pi 11 Stellen = 3.14159265359 = 6.28318530718
Pi 12 Stellen = 3.14159265359 = 6.28318530718
Pi 13 Stellen = 3.1415926535898 = 6.2831853071796
Pi 14 Stellen = 3.14159265358979 = 6.28318530717958
Pi 15 Stellen = 3.141592653589793 = 6.283185307179586
Pi 16 Stellen = 3.141592653589793 = 6.283185307179586
Pi 17 Stellen = 3.141592653589793 = 6.283185307179586
Pi 18 Stellen = 3.141592653589793 = 6.283185307179586
Pi 19 Stellen = 3.141592653589793 = 6.283185307179586
Mein Ansatz zum testen:
Code: Alles auswählen
from decimal import Decimal
from decimal import getcontext
#print(getcontext())
getcontext().prec = 30
pi_30=Decimal(3.141592653589793238462643383279)
print(round(Decimal(pi_30),20))
print(round(Decimal(pi_30),29))
print(Decimal(pi_30))
print(pi_30)
for i in range(0,20):
pi=round(pi_30,i)
print(i,"-",Decimal(pi))
pi_30=3.141592653589793238462643383279
aber
Decimal(3.141592653589793238462643383279) = 3.141592653589793115997963468544185161590576171875
Stehe da etwas auf dem Schlauch....