关于#Python#的问题,如何解决?

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, "不是素数")

img