自然数kを入力してもらい、1からkまでの全ての数字を足してreturnしたいです。でもエラーが出ちゃいます。forやwhileを使わずにやりたいのですが、何がおかしいですか?
def tri_recursion(k): if k > 0: result = k+tri_recursion(k-1) return result tri_recursion(3)
エラーです
UnboundLocalError Traceback (most recent call last)
<ipython-input-2-11463818ac96> in <module>
4 return result
5
----> 6 tri_recursion(3)
<ipython-input-2-11463818ac96> in tri_recursion(k)
1 def tri_recursion(k):
2 if k > 0:
----> 3 result = k+tri_recursion(k-1)
4 return result
5
<ipython-input-2-11463818ac96> in tri_recursion(k)
1 def tri_recursion(k):
2 if k > 0:
----> 3 result = k+tri_recursion(k-1)
4 return result
5
<ipython-input-2-11463818ac96> in tri_recursion(k)
1 def tri_recursion(k):
2 if k > 0:
----> 3 result = k+tri_recursion(k-1)
4 return result
5
<ipython-input-2-11463818ac96> in tri_recursion(k)
2 if k > 0:
3 result = k+tri_recursion(k-1)
----> 4 return result
5
6 tri_recursion(3)
UnboundLocalError: local variable 'result' referenced before assignment
回答1件
あなたの回答
tips
プレビュー