龙空技术网

发现 Python 的力量:如何轻松找到素数

知识大胖 68

前言:

今天各位老铁们对“编程判断素数单个”大约比较关注,姐妹们都需要分析一些“编程判断素数单个”的相关文章。那么小编也在网络上网罗了一些对于“编程判断素数单个””的相关文章,希望同学们能喜欢,看官们快快来了解一下吧!

欢迎来到令人兴奋的 Python 编程世界!今天,我们将学习如何在从 1 到 1000 的数字列表中查找素数。您可能想知道,“到底什么是素数?” 好吧,让我告诉你!

质数是一组特殊的数,只能被 1 和自己整除。例如2、3、5、7、11都是质数。像 4、6、8 和 9 这样的数字不是质数,因为它们可以被 1 和它们本身以外的数字整除。

现在我们知道素数是什么了,让我们深入研究代码吧!

第 1 步:创建一个函数来检查素数

我们需要做的第一件事是创建一个函数来检查给定数字是否为素数。我们将调用此函数is_prime

该函数的代码如下is_prime所示:

def is_prime(n):    if n < 2:        return False    for i in range(2, int(n**0.5)+1):        if n % i == 0:            return False    return True

这可能看起来有点吓人,但别担心!我会解释发生了什么。

is_prime函数采用单个参数 ,n这是我们要检查素数的数字。该函数首先检查输入的数字是否小于 2。如果小于,则函数立即返回False,因为 1 不是质数。

如果输入数字大于或等于 2,则函数循环遍历从 2 到输入数字的平方根(四舍五入到最接近的整数)的所有数字。对于这个范围内的每个数字,该函数检查它是否将输入数字平均划分。如果范围内的数字确实将输入数字整除,则输入数字不是质数,函数返回False。如果范围内的数字都不能将输入数字整除,则输入数字为质数,函数返回True

第 2 步:创建数字列表

现在我们有了我们的is_prime函数,我们需要一个数字列表来检查素数。在这种情况下,我们要检查从 1 到 1000 的所有数字。我们可以使用以下函数创建此列表range

nums = list(range(1, 1001))

range函数生成一个数字序列,从第一个参数(在本例中为 1)到但不包括第二个参数(在本例中为 1001)。然后,我们使用该list函数将这个序列转换为一个列表,并将其存储在一个名为 的变量中nums

第 3 步:过滤列表以仅获取质数

现在我们有了数字列表和is_prime函数,我们可以使用 Python 的内置filter函数来获取一个新列表,该列表仅包含原始列表中的素数。

下面是过滤列表的代码:

primes = list(filter(is_prime, nums))

filter函数有两个参数:一个函数(在本例中为is_prime)和一个可迭代对象(在本例中为nums)。该filter函数将函数应用于可迭代对象中的每个项目,并返回一个新的可迭代对象,该可迭代对象仅包含函数返回的项目True。然后,我们使用该list函数将这个新的可迭代对象转换为一个列表,并将其存储在一个名为primes.

第 4 步:打印素数

现在我们有了素数列表,剩下要做的就是打印出来!我们可以使用一个简单的print语句来做到这一点:

print("The prime numbers between 1 and 1000 are:", primes)

这将打印一条消息以及素数列表。

但是等等,还有更多!

如果您不满足于只打印质数,您还可以用它们做一些很酷的事情。例如,您可以使用以下函数找到列表中所有素数的总和sum

prime_sum = sum(primes)print("The sum of the prime numbers between 1 and 1000 is:", prime_sum)

或者,您可以使用以下函数在列表中找到最大的质数max

largest_prime = max(primes)print("The largest prime number between 1 and 1000 is:", largest_prime)

可能性是无止境!

完整代码

下面是查找 1 到 1000 之间素数的完整代码:

def is_prime(n):    if n < 2:        return False    for i in range(2, int(n**0.5)+1):        if n % i == 0:            return False    return Truenums = list(range(1, 1001))primes = list(filter(is_prime, nums))print("The prime numbers between 1 and 1000 are:", primes)prime_sum = sum(primes)print("The sum of the prime numbers between 1 and 1000 is:", prime_sum)largest_prime = max(primes)print("The largest prime number between 1 and 1000 is:", largest_prime)

恭喜,您现在已经学会了如何在 Python 中查找素数!继续探索并享受编码的乐趣!

标签: #编程判断素数单个