本質的に、最初の "n"個の逆数の合計を返す関数r_sum(n)を作成しようとしています。 sum(5)= 1 + 1/2 + 1/3 + 1/4 + 1/5です。再帰が新しく、実装に問題があります。ここで私はこれまで持っているコードです:Pythonの再帰的な和関数ですか?
def r_sum(n):
if n == 0:
return 0
elif n == 1:
return 1
else:
return 1/n
私は機能のベースを作成していると思いますが、私は関数が自分自身を呼び出す必要がありますどこか分かりません。今のところ、関数は1/nの値を返すことに気付きました。私はこの合計を計算する関数自体を呼び出すようにこれにどのように追加できますか?
'デフsum_to(n)の中でこれを行うことができます失敗:リターン0のn == 0それ以外の場合1./n + sum_to(n-1) ' - »あまりにも簡単です。多分あなたは思ったほど強くないかもしれません。 – Alfe
http://stackoverflow.com/questions/36163040/python-3-recursion-maximum-depth-exceededコースのこの部分ですか? –
まあ、「1/n」のようなものは、 'n 'が整数であっても、浮動小数点数を生成するという*コメントが残るはずです。これは他のプログラミング言語では珍しいことです(Python 2でもint型、ほとんどの 'n'型では0)が返されます)、そのコメントはまだ理にかなっています。 – Alfe