Python 检查素性校正的函数?
检查输入是否为素数的函数。 我知道这里已经讨论过很多次了,但出于某种原因,我的代码给出了x=32的真实值,我不知道为什么Python 检查素性校正的函数?,python,function,primes,Python,Function,Primes,检查输入是否为素数的函数。 我知道这里已经讨论过很多次了,但出于某种原因,我的代码给出了x=32的真实值,我不知道为什么 def is_prime(x): if x < 2: return False elif x == 2: return True else: for i in range(3,x): #Ignore sqrt(x) improvement if x%i == 0:
def is_prime(x):
if x < 2:
return False
elif x == 2:
return True
else:
for i in range(3,x): #Ignore sqrt(x) improvement
if x%i == 0:
return False
else :
return True
def为素数(x):
如果x<2:
返回错误
elif x==2:
返回真值
其他:
对于范围(3,x)内的i:#忽略sqrt(x)改进
如果x%i==0:
返回错误
其他:
返回真值
对于范围(3,x)内的i:
首先是数字3。作为32%3!=0
,它返回True
。然后函数中断,因为它返回了一个值
考虑将返回True
放在for循环之后:
for i in range(3,x): #Ignore sqrt(x) improvement
if x % i == 0:
return False
return True
现在,如果一个数字是可除的,它将立即中断并返回False
。但是如果没有数字进入32,for循环将完成,并返回True
另外,如果您使用的是Python2.x,那么使用
xrange()
会更快,因为它会返回一个生成器:)。您不会检查2的整除性。