解題思路:需要實(shí)現(xiàn)兩個(gè)函數(shù),一個(gè)是判斷數(shù)字是否是素?cái)?shù);一個(gè)是求和函數(shù)。
我們提供的服務(wù)有:成都網(wǎng)站制作、成都網(wǎng)站建設(shè)、外貿(mào)營(yíng)銷網(wǎng)站建設(shè)、微信公眾號(hào)開發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認(rèn)證、岳陽樓ssl等。為數(shù)千家企事業(yè)單位解決了網(wǎng)站和推廣的問題。提供周到的售前咨詢和貼心的售后服務(wù),是有科學(xué)管理、有技術(shù)的岳陽樓網(wǎng)站制作公司
實(shí)現(xiàn)函數(shù),判斷是否是素?cái)?shù),is_prime,具體代碼如下:
def is_prime(num):
"""
判斷是否是素?cái)?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
實(shí)現(xiàn)函數(shù),計(jì)算數(shù)字start到end之間的所有素?cái)?shù)之和,sum,具體代碼如下:
def sum(start, end):
"""
求閉區(qū)間[start, end]之間的素?cái)?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、示例代碼
import math
def isPreme(smk):
i = 2
for i in range(2, smk):
j = 2
for j in range(2, int(math.sqrt(i)+1)):
if (i % j == 0):
break
else:
print('%s是素?cái)?shù)' % i)
isPreme(20)
2、示例結(jié)果
2是素?cái)?shù)
3是素?cái)?shù)
5是素?cái)?shù)
7是素?cái)?shù)
11是素?cái)?shù)
13是素?cái)?shù)
17是素?cái)?shù)
19是素?cái)?shù)
python求素?cái)?shù):
def is_prime(m):
"""判斷m是否素?cái)?shù)"""
for i in range(2,int(m**(1/2))+1):
if m % i == 0:
return False
else:
return True
注意事項(xiàng)
定義一個(gè)函數(shù)并使用input進(jìn)行范圍的輸入,同時(shí)將將求得的素?cái)?shù)保存在num數(shù)組中去,便于求得在該范圍內(nèi)素?cái)?shù)的總數(shù)以及對(duì)應(yīng)的具體值,同時(shí),在本程序中并沒有對(duì)非法輸入的值進(jìn)行過多的判斷,而主要就是為了實(shí)現(xiàn)功能。
注意在該函數(shù)當(dāng)中,else是與內(nèi)循環(huán)中的for搭配使用的,如果內(nèi)循環(huán)是由break而終止的,那么else語句是不會(huì)被執(zhí)行的。
求100以內(nèi)的素?cái)?shù)python函數(shù):
l = []
for x in range(100):
#判斷如果x是素?cái)?shù),則打印,如果不是素?cái)?shù)就跳過
if x 2:
continue
for i in range(2,x):
if x % i == 0:
break
else:
l.append(x)
print(l)
1、定義判斷素?cái)?shù)的函數(shù)isPrime
import math
def isPrime(num):
sqt = int(math.sqrt(num))
for i in range(2, sqt + 1):
if num % i == 0:
return False
return True
2、調(diào)用函數(shù)并打印結(jié)果
a = int(input("請(qǐng)輸入一個(gè)數(shù)字:"))
if isPrime(a):
print(a)
else:
print("不是素?cái)?shù)")
3、驗(yàn)證結(jié)果
(1)輸入的是素?cái)?shù)
請(qǐng)輸入一個(gè)數(shù)字:3
3
(2)輸入的不是素?cái)?shù)
請(qǐng)輸入一個(gè)數(shù)字:12
不是素?cái)?shù)
1、新建python文件,testprimenum.py;
2、編寫python代碼,求1到100之間的素?cái)?shù);
list1?=?[]
i?=?2
for?i?in?range(2,101):
j?=?2
for?j?in?range?(2,i):
if?i%j?==?0:
break
else:
list1.append(i)
print(list1)
3、窗口中右擊,選擇‘在終端中運(yùn)行Python文件’;
4、查看執(zhí)行結(jié)果,1-100之間的素?cái)?shù)為:
[2,?3,?5,?7,?11,?13,?17,?19,?23,?29,?31,?37,?41,?43,?47,?53,?59,?61,?67,?71,?73,?79,?83,?89,?97]
網(wǎng)站名稱:python素?cái)?shù)函數(shù),python素?cái)?shù)函數(shù)怎么寫
本文地址:http://www.muchs.cn/article42/hcpghc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站制作、定制開發(fā)、關(guān)鍵詞優(yōu)化、營(yíng)銷型網(wǎng)站建設(shè)、App設(shè)計(jì)、做網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)