python代碼給出兩個區間之間的素數
start = int(input('enter starting point of interval:'))
end = int(input('enter ending point of interval:'))
for i in range(start,end 1):
if i>1:
for j in range(2,i 1):
if (i % j == 0):
break
else:
print(i, end = " ")
break
如果我把 start 和 end 設定為 2,10 的輸出是 3,5,7,9 請告訴我在做什么錯誤
uj5u.com熱心網友回復:
在 9 的情況下,您正在檢查該數字是否可以被 2 整除,它不是,然后您列印該數字并且不檢查其他任何內容。
你也在回圈 until i 1,這意味著你檢查這個數字是否可以被自己整除,它是......
嘗試改變那些:
start = int(input('enter starting point of interval:'))
end = int(input('enter ending point of interval:'))
for i in range(start,end 1):
if i>1:
for j in range(2,i):
if (i % j == 0):
break
else:
print(i, end = " ")
此外,不是檢查if i>1每個回圈,而是更改回圈條件,您可以回圈直到平方根。
最終結果:
import math
start = int(input('enter starting point of interval:'))
end = int(input('enter ending point of interval:'))
for i in range(max(start, 2),end 1):
if i % 2 == 0 and i != 2: continue
if all((i%j!=0) for j in range(3,int(math.sqrt(i)) 1, 2)):
print(i, end = " ")
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/485489.html
標籤:python-3.x for循环 if 语句 休息
上一篇:縮短if陳述句
下一篇:在Java中獲取產品ID(整數)
