作者:thofarq | 来源:互联网 | 2023-06-05 12:36
要测试一个数字是否为素数,我会这样做:
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