なぜ次のコードが終了しないのですか?2の平方根を計算する
# approximating sqrt(2)
def approx (error,left, right):
c = (left+right)/2
f = c**2 - 2
if abs(f)<error :
return c
if f < 0:
left = c
else:
right = c
return approx(error,left,right)
print approx(0.1,0,2)
デバッガを使用してみてください:コードをステップ実行し、何が起こるかを確認してください。 – Blorgbeard
また、再帰の必要はありません。真の間にコードの本体を入れてください: '。 – Blorgbeard