我試圖在wiki中繼續使用[a1, a2, a3...]
的小數部分示例。當我運行該程序,我能獲得針對結果作爲n = 2
2.727272...75
但是當我嘗試n = 3
有兩個輸出,它們是低(獲得2.394
和第二線2.3333
...) 我不知道我是否需要添加另一個設置爲y =...
一行。如果是這樣,我不得不每次更改n
時再添加一組i -1+
等到y
? 爲什麼我得到兩個答案?我是如何完成循環的問題?使用python中連續分數的前n + 1項找到近似值'e'
這裏是我的代碼:
n = abs(int(input("Enter number: ")))
y = 0
d = 0
for i in range(n, 1, -1):
if i == n:
y = (i - 1) + ((i - 1)/((i-1)/(i + (i/(i + 1))))
d = d + y
else:
d = i + 1
e = 2 + (1/d)
print (e)
請包括你的代碼在文本中的問題(而不是圖像或鏈接)。您可以通過突出顯示代碼並單擊編輯器中的{}按鈕來獲取代碼格式(或者您可以自己縮進四個空格)。 – Blckknght
對於第一個之後的任何'i',你永遠不會使用'y'。你所做的只是直接從'i'計算'd'(忽略它的前一個值),然後從'd'計算'e'。我不確定我是否明白你想要實現的是哪一部分,所以我不能真正提出解決方案。 – Blckknght
哦,或許'if'條件的邏輯是倒退?你是否想在第二次迭代和後續迭代中使用if區塊的代碼,並且僅僅在第一次迭代時使用'else'?如果是這樣,請使用'i!= n'而不是'i == n'。 – Blckknght