我正在學習Python中的函數的概念,可以使用一點建議。帶功能的Sum系列 - 連續添加以前的答案?
我想寫將用於輸入1的代數函數m(i) = (i)/(i + 1)
至20到目前爲止,我已經得到了工作程序,但現在我想以前的所有輸出加在一起爲每個新的輸出。這可能是我只是沒有理解這個數學概念,這就是爲什麼我沒有在我的代碼中正確的。
理想的情況下,這將是我想要得到的結果表:
i m(i)
1 0.50
2 1.17
...
19 16.40
20 17.35
目前我有什麼是:
def equation(i):
mi = ((i)/(i + 1))
return mi
def main():
for i in range(1,21):
print(format(i, '2d')," ",format(equation(i), '.2f'))
main()
我看到在我的殼輸出爲:
1 0.50
2 0.67
3 0.75
4 0.80
5 0.83
6 0.86
7 0.88
8 0.89
9 0.90
10 0.91
11 0.92
12 0.92
13 0.93
14 0.93
15 0.94
16 0.94
17 0.94
18 0.95
19 0.95
20 0.95
我覺得我有一個良好的開端,但我怎麼可以添加所有的M(1)共同爲每一個新行?就像我發佈的'理想'例子一樣,它需要0.5 + 0.67給出1.17等等。
預先感謝您!
我簡直不敢相信那很簡單,謝謝Hydex!現在我只需要研究這段代碼並試着理解它爲什麼起作用 – Norr
如果您需要更多關於遞歸函數的信息,請參閱此鏈接[python-course](http://www.python-course.eu/recursive_functions.php )和[Wiki](https://en.wikibooks.org/wiki/Non-Programmer%27s_Tutorial_for_Python_3/Recursion) – Hydex