解題思路:需要實現(xiàn)兩個函數(shù),一個是判斷數(shù)字是否是素數(shù);一個是求和函數(shù)。
成都創(chuàng)新互聯(lián)公司是專業(yè)的隆德網(wǎng)站建設(shè)公司,隆德接單;提供成都網(wǎng)站設(shè)計、成都做網(wǎng)站、外貿(mào)網(wǎng)站建設(shè),網(wǎng)頁設(shè)計,網(wǎng)站設(shè)計,建網(wǎng)站,PHP網(wǎng)站建設(shè)等專業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進(jìn)行隆德網(wǎng)站開發(fā)網(wǎng)頁制作和功能擴(kuò)展;專業(yè)做搜索引擎喜愛的網(wǎng)站,專業(yè)的做網(wǎng)站團(tuán)隊,希望更多企業(yè)前來合作!
實現(xiàn)函數(shù),判斷是否是素數(shù),is_prime,具體代碼如下:
def is_prime(num):
"""
判斷是否是素數(shù).
:param num:
:return:
"""
result = True
# 質(zhì)數(shù)大于 1
if num 1:
? # 查看因子
? for i in range(2, num):
? ? ? if (num % i) == 0:
? ? ? ? ? result = False
? ? ? ? ? break
? else:
? ? ? result = True
# 如果輸入的數(shù)字小于或等于 1,不是質(zhì)數(shù)
else:
? result = False
return result
實現(xiàn)函數(shù),計算數(shù)字start到end之間的所有素數(shù)之和,sum,具體代碼如下:
def sum(start, end):
"""
求閉區(qū)間[start, end]之間的素數(shù)之和.
:param start:
:param end:
:return:? ? """
result = 0;
for i in range(start, end + 1):
? if is_prime(i):
? ? ? print(i)
? ? ? result = result + i
return result
在main函數(shù)中調(diào)用求和,代碼如下:
if __name__ == '__main__':
num = 8
print(is_prime(num))
num = 5
print(is_prime(num))
print(sum(1, 5))
完整 代碼如下:
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);
使用三種方法實現(xiàn)0-n累加求和
定義函數(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ù)代碼如下: