测试素数的更短方法

要测试一个数字是否为素数,我会这样做:

def isprime(n):

    if n < 2: return False

    for i in range(2, n):
        if n % i == 0:
            return False
    else:
        return True

我想知道如何使编写更高效/更短。

回答

带发电机:

def isprime(n):
    return (all(False for i in range(2,n) if n % i == 0) and not n < 2)
    
print (isprime(0))
print (isprime(1))
print (isprime(2))
print (isprime(3))
print (isprime(9))
print (isprime(10))
print (isprime(13))

输出:

False
False
True
True
False
False
True


以上是测试素数的更短方法的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>