使用三種方法實現(xiàn)0-n累加求和
創(chuàng)新互聯(lián)是專業(yè)的西鄉(xiāng)網(wǎng)站建設(shè)公司,西鄉(xiāng)接單;提供網(wǎng)站設(shè)計、網(wǎng)站建設(shè),網(wǎng)頁設(shè)計,網(wǎng)站設(shè)計,建網(wǎng)站,PHP網(wǎng)站建設(shè)等專業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進行西鄉(xiāng)網(wǎng)站開發(fā)網(wǎng)頁制作和功能擴展;專業(yè)做搜索引擎喜愛的網(wǎng)站,專業(yè)的做網(wǎng)站團隊,希望更多企業(yè)前來合作!
定義函數(shù)分別使用while循環(huán)、for循環(huán)、遞歸函數(shù)實現(xiàn)對0-n的累加求和
1、使用while循環(huán)
定義一個累加求和函數(shù)sum1(n),函數(shù)代碼如下:
20200503163511.jpg
2、使用 for循環(huán)
定義一個累加求和函數(shù)sum2(n),函數(shù)代碼如下:
20200503163523.jpg
3、使用遞歸函數(shù)
定義一個累加求和函數(shù)sum3(n),函數(shù)代碼如下:
python用遞歸函數(shù)求1+2+3+4+5的值的方法:
1、寫出臨界條件
2、找這一次和上一次的關(guān)系
3、假設(shè)當(dāng)前函數(shù)已經(jīng)能用,調(diào)用自身計算上一次的結(jié)果,再求出本次的結(jié)果
代碼實現(xiàn)如下:
如果你想在 Python 中通過函數(shù)求出 s=a!+b!+c!,你可以使用遞歸函數(shù)來實現(xiàn)。
首先,你需要定義一個函數(shù)來計算階乘,代碼如下:
def factorial(n):
if n == 1:
return 1
else:
return n * factorial(n - 1)
這個函數(shù)使用了遞歸的思想,在 n 等于 1 時返回 1,否則返回 n * (n-1)!。
然后,你可以定義另一個函數(shù)來計算 s=a!+b!+c!,代碼如下:
def sum_factorials(a, b, c):
return factorial(a) + factorial(b) + factorial(c)
這個函數(shù)調(diào)用了 factorial 函數(shù)來計算 a!、b! 和 c!,然后將它們相加得到最終的結(jié)果。
你可以使用這兩個函數(shù)來計算任意的 a、b 和 c 的階乘和,例如:
s = sum_factorials(3, 4, 5)
print(s) # Output: 150
希望這些內(nèi)容能幫助你實現(xiàn)需求。
python遞歸函數(shù)1到n求和
def recu_add(n):
if n == 1:
return 1
return n + recu_add(n - 1)
print(recu_add(5)) #15
print(recu_add(100)) #5050
1、使用while循環(huán)
定義一個累加求和函數(shù)sum1(n),函數(shù)代碼如下:
?
2、使用 for循環(huán)
定義一個累加求和函數(shù)sum2(n),函數(shù)代碼如下:
?
3、使用遞歸函數(shù)
定義一個累加求和函數(shù)sum3(n),函數(shù)代碼如下:
?
二、使用了三種實現(xiàn)累加求和的方法,分別定義了三個函數(shù)。
1、對0-100實現(xiàn)累加求和,令n=100,分別調(diào)用三個函數(shù),
代碼如下:
?
2、 控制臺的輸出結(jié)果都為:5050
?
3、這里需要注意的是:
1、在while循環(huán)中需要定義初始值和累加變量,防止出現(xiàn)死循環(huán);
python不鼓勵遞歸,請看這個函數(shù)的遞歸版(def sn_recursion)和非遞歸版(def sn)的代碼對比: