python输出所有素数_Python实现输出某区间范围内全部素数的方法
本文實(shí)例講述了Python實(shí)現(xiàn)輸出某區(qū)間范圍內(nèi)全部素?cái)?shù)的方法。分享給大家供大家參考,具體如下:
# -*- coding: utf-8 -*-
# 簡述:區(qū)間范圍101-200
# 要求:判斷這個(gè)區(qū)間內(nèi)有多少個(gè)素?cái)?shù),并逐一輸出。
def prime(m,n):
list1=[]
list2=[]
for i in range(m,n+1):
list1.append(i)
for j in range(2,m/2):
if i%j==0:
list2.append(i)
break
#print list(set(list1).difference(set(list2)))#list1中有而list2中沒有的
list=[i for i in list1 if i not in list2]
list.sort()
print list
print "該區(qū)間共有素?cái)?shù)%d個(gè)"%len(list)
if __name__=="__main__":
print "腳本之家測試結(jié)果:"
m=int(raw_input("請輸入?yún)^(qū)間左端點(diǎn):"))
n=int(raw_input("請輸入?yún)^(qū)間右端點(diǎn):"))
prime(m,n)
運(yùn)行結(jié)果:
腳本之家測試結(jié)果:
請輸入?yún)^(qū)間左端點(diǎn):101
請輸入?yún)^(qū)間右端點(diǎn):200
[101, 103, 107, 109, 113, 127, 131, 137, 139, 149, 151, 157, 163, 167, 173, 179, 181, 191, 193, 197, 199]
該區(qū)間共有素?cái)?shù)21個(gè)
運(yùn)行效果截圖:
總結(jié):
1、#注釋掉的一行也是可以出結(jié)果的,但是list中的元素沒有排序,用了sort()也是不行,列表補(bǔ)集這部分的知識需要補(bǔ)充
2、判斷非素?cái)?shù)我用了比較笨的方法,先算出素?cái)?shù)再算補(bǔ)集,是因?yàn)橹苯优袛嗨財(cái)?shù)無法運(yùn)行出結(jié)果,汗
希望本文所述對大家Python程序設(shè)計(jì)有所幫助。
總結(jié)
以上是生活随笔為你收集整理的python输出所有素数_Python实现输出某区间范围内全部素数的方法的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python多线程坑_python多线程
- 下一篇: chrome自动调节窗口大小插件_高效使