我为学校项目制作了一个计算圆周率的Python 3程序,但它总是在小数点后16位处停止。 Python中数字长度是否有限制? 如果有,是否有其他编程语言可以让我继续计算?
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
decimal
模块可以避免长度限制,更重要的是可以避免浮点数不精确的问题。 - juanpa.arrivillagafrom math import pi; print(format(pi, '.32f'))
。 - jonrsharpe