Python 根据特定说明检查素数的功能

Python 根据特定说明检查素数的功能,python,Python,我必须根据一些具体说明创建一个函数。它是用来检查一个数字是否是素数的。我知道有不同的方法可以做到这一点,如果这是一个愚蠢的问题,我很抱歉。我是编程新手 无论如何,以下是说明(伪代码): 函数isPrime(n) 如果n=1,则返回false 其他的 如果ndef isPrime(n): 如果n==1: 返回错误 elif n

我必须根据一些具体说明创建一个函数。它是用来检查一个数字是否是素数的。我知道有不同的方法可以做到这一点,如果这是一个愚蠢的问题,我很抱歉。我是编程新手

无论如何,以下是说明(伪代码):

函数isPrime(n)
如果n=1,则返回false
其他的
如果n
def isPrime(n):
如果n==1:
返回错误
elif n<4:
返回真值
elif n%2==0:#不需要模&
返回错误
elif n<9:
返回真值
elif n%3==0:
返回错误
其他:
r=n**.5
f=5
当f
def为素数(n)时:

如果n
2&2==0
False
;也许您不想使用按位AND there?您到底有什么问题?您已经收到了详细的伪代码,您正在努力解决它的实现中的哪些元素?@jornsharpe:
n mod 3=0
之后的所有内容,显然。嗯,可能是拼写错误,但您的代码说def istime(n)应该是isprime(n)吗?
Function isPrime(n)  
if n=1 then return false  
else  
if n<4 then return true #2 and 3 are prime  
else  
if n mod 2=0 then return false  
else  
if n<9 then return true #we have already excluded 4,6 and 8.  
else  
if n mod 3=0 then return false  
else  
r=floor( sqrt(n) ) #sqrt(n) rounded to the greatest integer r so that r*r<=n  
f=5  
while f<=r  
if n mod f=0 then return false (and step out of the function)  
if n mod(f+2)=0 then return false (and step out of the function)  
f=f+6  
endwhile  
return true (in all other cases)  
End Function   
def isrime(n):
    if n == 1:
        return False
    elif n < 4:
        return True
    elif n & 2 == 0:
        return False
    elif n<9:
        return True
    elif n %3 == 0:
        return False
    ????? (Don't know what to write)
    else:
        return True
def isPrime(n):
    if n == 1:
        return False
    elif n < 4:
        return True
    elif n % 2 == 0: # needs modulo not &
        return False
    elif n < 9:
        return True
    elif n % 3 == 0:
        return False
    else:
        r = n**.5  
        f = 5
        while f <= r:
            if n % f== 0:
                return False #(and step out of the function)
            if n % (f+2)== 0:
                return False# (and step out of the function)
            f+=6
        return True
def is_prime(n):
    if n <= 3:
        if n <= 1:
            return False
        return True
    if not n%2 or not n%3:
        return False
    for i in range(5, int(n**0.5) + 1, 6):   
        if not n%i or not n%(i + 2):
            return False
    return True