問題
問題基本上是使用 if 和 else 回圈來獲得如上所示的輸出。所以根據調和級數的公式,我回傳了以下結果 n 應該大于 1
我的代碼基本上是這樣的,似乎得到了正確的答案,但我總是以負值結束。邏輯有問題還是有辦法得到相反的結果因為我試過做 min() 并從 0 中減去。
def alternating(n):
if n == 1:
return 1
else:
return 1/n (-1**(n % 2)) * alternating(n-1)
uj5u.com熱心網友回復:
你的功能不正確。
這個是:
"""
Harmonic series using recursion
See https://stackoverflow.com/questions/74476333/how-do-i-get-the-negative-of-this-answer-why-can-i-not-just-put-a-negative-sign
See https://i.stack.imgur.com/ShNUi.png
"""
def alternating(k):
if k != 1:
return (-1) ** (k 1) / k alternating(k - 1)
else:
return 1
請學會停止說和寫“基本”。這是一個高科技的填充詞,類似于“嗯”。不要使用它。
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/537661.html
