以下は、シリーズとして与えられる約5000次多項式の近似根を見つけるための私のプログラムです。
def s(r, z):
sm = 0
for k in range(1, z+1):
sm += (900-3*k) * r ** (k-1)
return sm
target = -600000000000
n = 1
dr = .125
curr = 0
while abs(curr - target) > 1:
curr = s(n, 5000)
if curr > target : n+= dr
else : n-=dr
dr /= 2
小数点以下12桁に丸めたかったので
print round(n, 12)
それは私に与えました:
1.00232210863
数値は十分に概算ですが、現在は12桁に丸められています。私はPythonコンソールを起動し、それを自分で見つけました:
>>> n
1.0023221086328755
>>> round(n, 12)
1.002322108633
私のround()関数がPythonコンソールプロンプト内でのみ機能するのはなぜですか?