Zrobiłem program Python 3, aby obliczyć pi dla projektu szkolnego, ale zawsze kończy się on z 16 miejscami po przecinku. Czy istnieje limit długości liczb w pythonie? Jeśli jest taki język, z którego mógłbym skorzystać, to pozwoli mi kontynuować?Czy w pythonie występują ograniczenia liczby?
accuracy = int(input("accuracy: "))
current = 2
opperation = "+"
number = 3
count = 1
for i in range (accuracy):
if opperation == "-":
number = number - (4/(current*(current+1)*(current+2)))
opperation = "+"
elif opperation == "+":
number = number + (4/(current*(current+1)*(current+2)))
opperation = "-"
current += 2
print(str(count).zfill(8)) + ": " + str(number)
count += 1
Użyj modułu "dziesiętny", aby uniknąć ograniczeń długości i, co ważne dla twojego przypadku, aby uniknąć niedokładności zmiennoprzecinkowej. –
Istnieje granica precyzji, którą można uzyskać za pomocą liczby zmiennoprzecinkowej o danym rozmiarze. Ale Python pozwoli ci pokazać więcej cyfr: 'from math import pi; print (format (pi, ".32f")) '. – jonrsharpe
Jeśli chcesz wiedzieć dokładnie, jakie są specyfikacje dla elementów pływających w systemie, 'import sys; print (sys.float_info) ' –