1、新建python文件,testprimenum.py;
創(chuàng)新互聯(lián)建站是專業(yè)的噶爾網(wǎng)站建設(shè)公司,噶爾接單;提供做網(wǎng)站、成都網(wǎng)站制作,網(wǎng)頁設(shè)計,網(wǎng)站設(shè)計,建網(wǎng)站,PHP網(wǎng)站建設(shè)等專業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進行噶爾網(wǎng)站開發(fā)網(wǎng)頁制作和功能擴展;專業(yè)做搜索引擎喜愛的網(wǎng)站,專業(yè)的做網(wǎng)站團隊,希望更多企業(yè)前來合作!
2、編寫python代碼,求1到100之間的素數(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、窗口中右擊,選擇‘在終端中運行Python文件’;
4、查看執(zhí)行結(jié)果,1-100之間的素數(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]
解題思路:需要實現(xiàn)兩個函數(shù),一個是判斷數(shù)字是否是素數(shù);一個是求和函數(shù)。
實現(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、定義判斷素數(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("請輸入一個數(shù)字:"))
if isPrime(a):
print(a)
else:
print("不是素數(shù)")
3、驗證結(jié)果
(1)輸入的是素數(shù)
請輸入一個數(shù)字:3
3
(2)輸入的不是素數(shù)
請輸入一個數(shù)字:12
不是素數(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是素數(shù)' % i)
isPreme(20)
2、示例結(jié)果
2是素數(shù)
3是素數(shù)
5是素數(shù)
7是素數(shù)
11是素數(shù)
13是素數(shù)
17是素數(shù)
19是素數(shù)
答:定義一個函數(shù)并使用input進行范圍的輸入,同時將將求得的素數(shù)保存在num數(shù)組中去,便于求得在該范圍內(nèi)素數(shù)的總數(shù)以及對應(yīng)的具體值。同時,在本程序中并沒有對非法輸入的值進行過多的判斷,而主要就是為了實現(xiàn)功能。
求一定范圍內(nèi)的素數(shù)個數(shù)的實現(xiàn)代碼
注意在該函數(shù)當中, else是與內(nèi)循環(huán)中的for搭配使用的,如果內(nèi)循環(huán)是由break而終止的,那么else語句是不會被執(zhí)行的。
對應(yīng)兩個執(zhí)行例子及其結(jié)果如下所示。
例子1
例子2