Python-Prime数字检查器 - 素数的乘积

1 python primes

我编写了以下代码来检查数字是否为素数.虽然有更有效的方法可以做到这一点,但我确实注意到虽然这适用于最大的素数,但它会打破每个素数产品.因此,虽然它正确地将13和17标识为素数,但它也将91(13×7)标识为素数.有什么想法吗?

def checkifprime(numtocheck):
    for x in range(2,numtocheck):
        if(numtocheck % x == 0):
            return False
        return True

answer = checkifprime(91)
print (answer)
Run Code Online (Sandbox Code Playgroud)

Ry-*_*Ry- 5

return True缩进太远; 它在循环内部并导致函数在第一次迭代时退出,因此您的函数实际上只检查数字是否为奇数.

def checkifprime(numtocheck):
    for x in range(2, numtocheck):
        if numtocheck % x == 0:
            return False
    return True
Run Code Online (Sandbox Code Playgroud)