Python 3.x 在python3中寻找素数

Python 3.x 在python3中寻找素数,python-3.x,primes,Python 3.x,Primes,守则: def prime(n): from math import sqrt for i in range(2, int(sqrt(n)) + 1): if n % i == 0: return False return True 将正确地找到素数,但我不明白为什么它在以下情况下返回2作为素数: print(2%2) 打印0,有人能告诉我为什么吗?int(sqrt(2))+1是2,而范围(2,2)是空的(上限是独占的),因此循环体永远不会运行

守则:

def prime(n):
from math import sqrt
for i in range(2, int(sqrt(n)) + 1): 
    if n % i == 0:
        return False
return True
将正确地找到素数,但我不明白为什么它在以下情况下返回2作为素数:

print(2%2)
打印0,有人能告诉我为什么吗?

int(sqrt(2))+1
2
,而
范围(2,2)
是空的(上限是独占的),因此循环体永远不会运行