Python在打印素数的时候卡住了,不再打印,是哪里错了
for i in range(100):
print(i)
while True:
n = n + 1
if i % n == 0:
print("不是")
print("是")
可以给定素数判定范围,网上也有很多相似的实现案例
for i in range(100):
print(i)
n = 2
while True:
is_prime = True
for i in range(2, n):
if n % i == 0:
is_prime = False
break
if is_prime:
print(n, "是")
else:
print(n, "不是")
n += 1
if n >= 100:
break
while True是个死循环,n一直加,循环没有退出条件。
打印素数可以看一下我的这篇文章:Python算法:数论问题_创意程序员的博客-CSDN博客
def valid(num):
if num == 1:
return False
count = 0
for i in range(2,num):
if num % i == 0:
count += 1
if count > 0:
return False
return True
for i in range(1, 100):
if valid(i):
print(i, "是素数")
else:
print(i, "不是素数")