百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术资源 > 正文

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

off999 2024-12-11 16:23 14 浏览 0 评论

欢迎来到令人兴奋的 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 True

nums = 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 中查找素数!继续探索并享受编码的乐趣!

相关推荐

用Python编制生成4位数字字母混合验证码

我们登录一些网站、APP的时候经常会有验证码,这个为了防止有人不停的去试探密码,还有发送短信验证之前,输入验证码就可以减少误点,错误操作等等。可以提高安全性,我们可以生成数字,也可以生成字母,也可...

Python电子发票管理工具4:前后端业务逻辑实现

用一系列文章介绍如何用python写一个发票管理小工具。在前面的文章中前端页面和后端框架已经实现,本文将介绍功能实现的代码。数据库操作使用sqlalchemy操作sqlite数据库。sqlalchem...

【代码抠图】4行Python代码帮你消除图片背景

在修图工具满天飞的年代其实仍然还有很多人不会扣图(比如我),在很多需要去除某些照片上面的背景的时候就会很难受,所以今天就给不会扣图的小伙伴们来带一个简单的代码扣图教程,只需要4行代码,不用再多了。准备...

Python 3.14 的 UUIDv6/v7/v8 上新,别再用 uuid4 () 啦!

Python3.14重磅更新!UUIDv6/v7/v8强势来袭,别再用uuid4()啦!为什么说UUID升级是2025年Python开发者的必学技能?在当今互联网应用中,UU...

殊途同归 python 第 4 节:有趣的键值对(字典)

字典数据的突出特点就是“键”和“值”,前文已经简单介绍过,本文来聊聊关于字典的几个高级玩法。1.函数打包后,通过键来调用globalf1,f2a={"k1":f1,"k2...

更有效地使用 Python Pandas 的 4 个技巧

一个简单而实用的指南照片由simonsun在Unsplash上拍摄Pandas是一个用于数据分析和操作任务的非常实用且功能强大的库。自2019年以来,我一直在使用Pandas,它始终能够为我...

4.python学习笔记-集合(python里面集合)

1.关于集合集合是一类元素无序不重复的数据结构,常用场景是元素去重和集合运算。python可以使用大括号{}或者set()函数创建集合,如果创建一个空集合必须用set()而不是{},因为{}是用来表示...

python生成4种UUID(python随机生成uuid)

总结了一份python生成4种UUID的代码:UUID用4种uuid生成方法:uuid1:基于时间戳由MAC地址、当前时间戳、随机数字。保证全球范围内的唯一性。但是由于MAC地址使用会带来安全问题...

你不知道的4种方法:python方法绘制扇形

1说明:=====1.1是问答中的我的一个回答。1.1因为问答中没有代码块的,所以我改为这里写文章,然后链接过去。1.24种方法:turtle法、OpenCV法、pygame法和matplot...

30天学会Python编程:4. Python运算符与表达式

4.1运算符概述4.1.1运算符分类Python运算符可分为以下几大类:4.1.2运算符优先级表4-1Python运算符优先级(从高到低)运算符描述示例**指数2**3→8~+-按位取...

这3个高级Python函数,不能再被你忽略了

全文共1657字,预计学习时长3分钟Python其实也可以带来很多乐趣。重新审视一些一开始并不被人们熟知的内置函数并没有想象中那么难,但为什么要这么做呢?今天,本文就来仔细分析3个在日常工作中或多或少...

beautifulSoup4,一个超实用的python库

一.前言我们在学习python爬虫的时候,数据提取是一个常见的任务。我们一般使用正则表达式,lxml等提取我们需要的数据,今天我们介绍一个新的库beautifulSoup4,使用它您可以从HTML和...

AI指导:打造第一个Python应用(4)(python ai开发)

眼瞅着迈过几个里程碑,与目标越来越近。尽管过程中照旧因返工而心焦,而欣喜与急躁比例,是喜悦运大于焦虑。从初次熟悉智能大模型,尝试编程起步,不定期进行复盘反思,这是小助手指导编程的第四篇。复盘以为记。需...

wxPython 4.2.0终于发布了(wxpython安装教程)

  wxPython是Python语言的跨平台GUI工具包。使用wxPython,软件开发人员可以为他们的Python应用程序创建真正的本地用户界面,这些应用程序在Windows、Ma...

《Python学习手册(第4版)》PDF开放下载,建议收藏

书籍简介如果你想动手编写高效、高质量并且很容易与其他语言和工具集成的代码,本书将快速地帮助你利用Python提高效率。本书基于Python专家的流程培训课程编写,内容通俗易懂。本书包含很多注释的例子和...

取消回复欢迎 发表评论: