当先锋百科网

首页 1 2 3 4 5 6 7

Python是一种功能强大的计算机语言,可以被用于许多不同的应用,其中之一便是求质数。那么什么是质数呢?质数是指只能被1和本身整除的自然数,例如2、3、5、7、11等都是质数。在Python中,我们可以轻松求解一个给定范围内的所有质数。


def find_primes(n):
    primes = []
    for num in range(2, n+1):
        if all(num%i != 0 for i in range(2, int(num**0.5)+1)):
            primes.append(num)
    return primes

print(find_primes(50))

python求质数详解

上述代码中,我们使用了一个函数find_primes来求解质数,其中n是给定范围的上限。代码的核心在于for循环,我们从2开始对每个自然数进行判断,如果这个数不能被2到它的平方根之间的任何一个整数整除,那么就将它添加到primes列表中,并在最后返回该列表。

此外,我们还用到了Python中的一个内置函数all,它会遍历一个迭代器,并在该迭代器中所有元素均返回True时返回True,否则返回False。在上述代码中,我们用到了一个生成器表达式来生成一个迭代器,其返回True的条件是num不能被2到int(num**0.5)+1之间的任何整数整除。

最后,我们在代码的末尾使用print语句来打印出find_primes返回的primes列表。如果我们将50传入find_primes函数,那么输出的结果会是[2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47]。