今天我們來學習階乘n!,階乘是基斯頓·卡曼于 1808年發明的運算符號。一個正整數的階乘(factorial)是所有小于及等于該數的正整數的積,且0的階乘為1。自然數n的階乘寫作n!,即n!=1×2×3×…×(n-1)×n。比如4!=4×3×2×1。
下面我們把累加和階乘相結合,用Python計算出1!+2!+3!+…+20!的和。

第一步先找到階乘的計算規律,用程序列出從1到20的參與階乘所需的數字(如圖1),把需要相乘的數字分行羅列出來,你從圖中發現了什么規律(如圖2)?
從圖2中我們不難發現后一行比前一行每次都會多出一個數字。從最初的一個數字一直到最后一行二十個數字。
數列已經羅列出來了,那么計算出每行數相乘的積,并把它們都加起來就得出結果了。具體方法給你一個小的提示,可以采用保存變量的方法。由小到大累加每次階乘的值,隨著階乘數值的增加隨時求和,直到最后計算完20!,得出總和(如圖3)。注意希望函數range()中生成數列是1到20,需要多寫一個range(1,21)才符合需要。
分析一下代碼,分別設置三個變量,N、S、T。

N是一個循環,循環的范圍在1到20之間,目的是為了實現逐步遞增的效果。
T作為中間的變量,存儲每次階乘的值,每次每行計算出來的值都保存在T中。
S用來把每次階乘的值(也就是T的值)累加起來。循環結束,打印出結果。
課后給大家出個拓展練習:
這道題既有階乘的乘法又有階乘的加法。請你動手敲敲代碼試試看吧。