Python定義函數(shù)實(shí)現(xiàn)累計(jì)求和操作
一、使用三種方法實(shí)現(xiàn)0-n累加求和
定義函數(shù)分別使用while循環(huán)、for循環(huán)、遞歸函數(shù)實(shí)現(xiàn)對(duì)0-n的累加求和
1、使用while循環(huán)
定義一個(gè)累加求和函數(shù)sum1(n),函數(shù)代碼如下:
2、使用 for循環(huán)
定義一個(gè)累加求和函數(shù)sum2(n),函數(shù)代碼如下:
3、使用遞歸函數(shù)
定義一個(gè)累加求和函數(shù)sum3(n),函數(shù)代碼如下:
二、使用了三種實(shí)現(xiàn)累加求和的方法,分別定義了三個(gè)函數(shù)。
1、對(duì)0-100實(shí)現(xiàn)累加求和,令n=100,分別調(diào)用三個(gè)函數(shù),
代碼如下:
2、 控制臺(tái)的輸出結(jié)果都為:5050
3、這里需要注意的是:
1、在while循環(huán)中需要定義初始值和累加變量,防止出現(xiàn)死循環(huán);
2、for循環(huán)的作用就是循環(huán)遍歷;
3、遞歸函數(shù)一定要設(shè)置遞歸的出口,即當(dāng)函數(shù)滿足一個(gè)條件時(shí),函數(shù)不再執(zhí)行,目的防止出現(xiàn)死循環(huán);設(shè)置當(dāng)n=1時(shí) ,我們讓函數(shù)返回1,return后面的代碼不在執(zhí)行。使用return返回值,當(dāng)我們調(diào)用函數(shù)的時(shí)候需要使用變量進(jìn)行接收,才能在控制臺(tái)有輸出結(jié)果。
補(bǔ)充知識(shí):在python中,計(jì)算Sum = m + mm + mmm +mmmm+.....+mmmmm.....,輸入兩個(gè)數(shù)m,n。m的位數(shù)累加到n的值,列出算式并計(jì)算出結(jié)果:
大家還是直接看代碼吧!
#為了打印出算式,并計(jì)算出結(jié)果,將m,mm這些放入到列表中#定義列表中的m初始值為0,用Ele來(lái)代表m,mm....Ele = 0#定義總和為0Sum = 0#定義一個(gè)空列表List = []#輸入兩個(gè)值n = int(input('input a digit:'))m = int(input('input a digit:'))#用循環(huán)的方式計(jì)算每個(gè)Ele(m,mm,mmm...)的值#同時(shí)計(jì)算出總和for i in range(n): Ele = Ele + m #前兩行循環(huán)計(jì)算出每個(gè)Ele的值 m = m * 10 Sum = Sum + Ele #循環(huán)計(jì)算出總和 Str = str(Ele) #將Ele轉(zhuǎn)化為字符串型,方便將列表整個(gè)轉(zhuǎn)化成一個(gè)長(zhǎng)字符串也就是計(jì)算公式 List.append(Str) #循環(huán)往列表添加一個(gè)Ele在列表的最后位置 List.append('+') #循環(huán)往列表添加一個(gè)'+'在列表的最后位置,完成上面循環(huán)之后,列表中就出現(xiàn)了['m','+','mm','+','mmm','+'。....,'+']List.pop() #去掉列表中的最后一個(gè)加號(hào),算式的最后面是沒(méi)有加號(hào)的print(''.join(List) + '=',end='') #列表通過(guò)(''.join)函數(shù)轉(zhuǎn)化為字符串并去掉中間的逗號(hào)變成m+mm+mmm+...mmm....,再拼接上“=”號(hào),設(shè)置打印不換行print(Sum) #將計(jì)算結(jié)果拼接在公式的末尾,一個(gè)算式完美的出現(xiàn)了
以上這篇Python定義函數(shù)實(shí)現(xiàn)累計(jì)求和操作就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持好吧啦網(wǎng)。
相關(guān)文章:
1. JavaScript Reduce使用詳解2. android實(shí)現(xiàn)滾動(dòng)文本效果3. 深入了解JAVA 軟引用4. 在JSP中使用formatNumber控制要顯示的小數(shù)位數(shù)方法5. 解決AJAX返回狀態(tài)200沒(méi)有調(diào)用success的問(wèn)題6. Python TestSuite生成測(cè)試報(bào)告過(guò)程解析7. SpringBoot集成mqtt的多模塊項(xiàng)目配置詳解8. Java單例模式繼承覆蓋多態(tài)原理詳解9. SpringBoot2.0集成MQTT消息推送功能實(shí)現(xiàn)10. 詳解JAVA 強(qiáng)引用
