python一行判斷素數

 

num=eval(input("請輸入一個數:"))
print(" ".join("%s" % i for i in range(2,num) if not [j for j in range(2,i) if i%j == 0]))

"%s" %:字符串格式化,將得到的值插入到%s的佔位符中

i for i in range(2,num)遍歷範圍

if not [j for j in range(2,i) if i%j == 0])判斷是否爲素數

優化

1.
import math
num=eval(input("請輸入一個數:"))
print(" ".join("%s" % i for i in range(2,num) if not [j for j in range(2,int(math.sqrt(i))) if i%j == 0]))


 
1.
import math
num=eval(input("請輸入一個數:"))
print(" ".join("%s" % i for i in range(2,num) if(0==len([j for j in range(2,int(math.sqrt(i)))if 0== i%j]))))
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章