1、新建python文件,testprimenum.py;
創(chuàng)新互聯(lián)建站是專(zhuān)業(yè)的噶爾網(wǎng)站建設(shè)公司,噶爾接單;提供做網(wǎng)站、成都網(wǎng)站制作,網(wǎng)頁(yè)設(shè)計(jì),網(wǎng)站設(shè)計(jì),建網(wǎng)站,PHP網(wǎng)站建設(shè)等專(zhuān)業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進(jìn)行噶爾網(wǎng)站開(kāi)發(fā)網(wǎng)頁(yè)制作和功能擴(kuò)展;專(zhuān)業(yè)做搜索引擎喜愛(ài)的網(wǎng)站,專(zhuān)業(yè)的做網(wǎng)站團(tuán)隊(duì),希望更多企業(yè)前來(lái)合作!
2、編寫(xiě)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]
解題思路:需要實(shí)現(xiàn)兩個(gè)函數(shù),一個(gè)是判斷數(shù)字是否是素?cái)?shù);一個(gè)是求和函數(shù)。
實(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、定義判斷素?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、示例代碼
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ù)
答:定義一個(gè)函數(shù)并使用input進(jìn)行范圍的輸入,同時(shí)將將求得的素?cái)?shù)保存在num數(shù)組中去,便于求得在該范圍內(nèi)素?cái)?shù)的總數(shù)以及對(duì)應(yīng)的具體值。同時(shí),在本程序中并沒(méi)有對(duì)非法輸入的值進(jìn)行過(guò)多的判斷,而主要就是為了實(shí)現(xiàn)功能。
求一定范圍內(nèi)的素?cái)?shù)個(gè)數(shù)的實(shí)現(xiàn)代碼
注意在該函數(shù)當(dāng)中, else是與內(nèi)循環(huán)中的for搭配使用的,如果內(nèi)循環(huán)是由break而終止的,那么else語(yǔ)句是不會(huì)被執(zhí)行的。
對(duì)應(yīng)兩個(gè)執(zhí)行例子及其結(jié)果如下所示。
例子1
例子2
網(wǎng)站題目:python素?cái)?shù)函數(shù),python編寫(xiě)求素?cái)?shù)的函數(shù)
URL標(biāo)題:http://www.yijiale78.com/article22/dschicc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供App開(kāi)發(fā)、做網(wǎng)站、網(wǎng)站策劃、外貿(mào)建站、網(wǎng)站維護(hù)、Google
聲明:本網(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í)需注明來(lái)源: 創(chuàng)新互聯(lián)