我试图将所有素数打印到给定数字范围内(低和最大,包含给定数字)。打印给定数字范围内的素数
例如:
NUM1 = 10,NUM2 = 20
>>> 11, 13, 17, 19
我的代码在某些场合失败,我不明白为什么:
num1 = int(input('First number is: '))
num2 = int(input('Second number is: '))
if num2 <= num1:
num1,num2 = num2,num1
for i in range(num1, num2+1):
for p in range(2,int(num2**0.5)+1):
if i%p == 0:
break
else:
print(i,' ',end = '')
print('\n')
结果:
1至7 >>> 1 3 5 7(省略2)
1〜30 >>> 1 7 11 13 17 19 23 29(省略了2,3,5)
1至60 >>> 1 7 11 13 17 19 23 29(2,3,5,7省略)
0至0 0 >>>(打印0 - >不是素数)
0至7 >>> 1 3 5 7(省略2)
怎么可以我纠正了这个?谢谢一堆!
ps。数字1也不是素数。
如果num2
@MarkTolonen,我一直在寻找这个。感谢提示,我编辑了这个问题。 –