Python数学计算工具2、判断质数、遍历质数

简介: Python数学计算工具2、判断质数、遍历质数

质数又称素数。一个大于1的自然数,除了1和它自身外,不能被其他自然数整除的数叫做质数;否则称为合数(规定1既不是质数也不是合数)。


质数在很多的运算中都能给我们很大的帮助,是我们工作后期很好的一个数学帮手,那么我们需要对质数加深了解,那么这个小工具就能帮助我们来处理这些事情:


源码:


这里我进行了异常处理,处理的方式是无论输入什么错误的内容都会继续重新输入,所以不用怕异常,但是查询质数范围别写亿为单位就行,几百上千万还是能遍历出来的。每行我显示了5个值。

# 计算质数
import os
os.system("title 质数查询与判断:")
def isZhi(num):
    # 质数大于 1
    if num > 1:
        # 查看因子
        for i in range(2, num):
            if (num % i) == 0:
                return False
                break
        else:
            return True
    # 如果输入的数字小于或等于 1,不是质数
    else:
        return False
def baiZhi(size):
    count = 0
    for i in range(2, size):
        if isZhi(i):
            print(i, end="\t")
            count += 1
            if count % 5 == 0:
                print()
while True:
    try:
        choose = input("输入功能选择: 1、判断质数\t2、查询范围内所有质数")
        if choose == "1":
            num = int(input("请输入一个数字: "))
            if isZhi(num):
                print("是质数")
            else:
                print("不是质数")
        elif choose == "2":
            num = int(input("请输入查询范围(例如:1000): "))
            baiZhi(num)
            print()
    except:
        print("请正确输入!")

示例包下载地址:


https://download.csdn.net/download/feng8403000/86933994


下面是打包过程:


使用打包工具:【pip install pyinstaller】


安装完成后注意使用语法:


pyinstaller -F -p D:\save\Exe\studys\Python\exe\Lib -i D:\save\myclass\Python\core\pythonProject\python.ico demo5.py -n " 质数判断与质数范围查询工具"


可以看到我使用了2个绝对路径,绝对路径1是Python环境的包所在的位置,如果包不全的话需要自己通过pip进行下载,建议修改完镜像位置再下载。不会也别着急,每篇违章后面都会有打包教程。操作次数多了也就会了。


执行完成我们看到【successfully】代表成功了。


image.png


效果如下:


image.png


这里备了点孪生数的信息,可以看看了解一下:


以下15个区间内质数和孪生质数的统计数。


S1区间1——72,有素数18个,孪生素数7对。(2和3不计算在内,最后的数是孪中的也算在前面区间。)


S2区间73——216,有素数27个,孪生素数7对。


S3区间217——432,有素数36个,孪生素数8对。


S4区间433——720,有素数45个,孪生素数7对。


S5区间721——1080,有素数52个,孪生素数8对。


S6区间1081——1512,素数60个,孪生素数9对。


S7区间1513——2016,素数65个,孪生素数11对。


S8区间2017——2592,素数72个,孪生素数12对。


S9区间2593——3240,素数80个,孪生素数10对。


S10区间3241——3960,素数91个,孪生素数19对。


S11区间3961——4752素数92个,孪生素数17对。


S12区间4752——5616素数98个,孪生素数13对。


S13区间5617——6552素数108个,孪生素数14对。


S14区间6553——7560素数113个,孪生素数19对。


S15区间7561——8640素数116个,孪生素数14对。

相关文章
|
8天前
|
算法 定位技术 Python
震惊!Python 图结构竟然可以这样玩?DFS&BFS 遍历技巧大公开
在 Python 编程中,图是一种重要的数据结构,而深度优先搜索(DFS)和广度优先搜索(BFS)是遍历图的两种关键算法。本文将通过定义图的数据结构、实现 DFS 和 BFS 算法,并通过具体示例展示其应用,帮助读者深入理解这两种算法。DFS 适用于寻找路径和检查图连通性,而 BFS 适用于寻找最短路径。掌握这些技巧,可以更高效地解决与图相关的复杂问题。
21 2
|
12天前
|
Python
不容错过!Python中图的精妙表示与高效遍历策略,提升你的编程艺术感
本文介绍了Python中图的表示方法及遍历策略。图可通过邻接表或邻接矩阵表示,前者节省空间适合稀疏图,后者便于检查连接但占用更多空间。文章详细展示了邻接表和邻接矩阵的实现,并讲解了深度优先搜索(DFS)和广度优先搜索(BFS)的遍历方法,帮助读者掌握图的基本操作和应用技巧。
32 4
|
13天前
|
算法 Python
Python图论探索:从理论到实践,DFS与BFS遍历技巧让你秒变技术大牛
图论在数据结构与算法中占据重要地位,应用广泛。本文通过Python代码实现深度优先搜索(DFS)和广度优先搜索(BFS),帮助读者掌握图的遍历技巧。DFS沿路径深入搜索,BFS逐层向外扩展,两者各具优势。掌握这些技巧,为解决复杂问题打下坚实基础。
26 2
|
19天前
|
机器学习/深度学习 算法 编译器
Python程序到计算图一键转化,详解清华开源深度学习编译器MagPy
【10月更文挑战第26天】MagPy是一款由清华大学研发的开源深度学习编译器,可将Python程序一键转化为计算图,简化模型构建和优化过程。它支持多种深度学习框架,具备自动化、灵活性、优化性能好和易于扩展等特点,适用于模型构建、迁移、部署及教学研究。尽管MagPy具有诸多优势,但在算子支持、优化策略等方面仍面临挑战。
51 3
|
25天前
|
数据采集 数据可视化 数据挖掘
R语言与Python:比较两种数据分析工具
R语言和Python是目前最流行的两种数据分析工具。本文将对这两种工具进行比较,包括它们的历史、特点、应用场景、社区支持、学习资源、性能等方面,以帮助读者更好地了解和选择适合自己的数据分析工具。
27 2
|
25天前
|
C语言 开发者 Python
探索Python中的列表推导式:简洁而强大的工具
【10月更文挑战第21天】在Python的世界里,代码的优雅与效率同样重要。列表推导式(List Comprehensions)作为一种强大而简洁的工具,允许开发者通过一行代码完成对列表的复杂操作。本文将深入探讨列表推导式的使用方法、性能考量以及它如何提升代码的可读性和效率。
|
26天前
|
数据可视化 算法 JavaScript
基于图论的时间序列数据平稳性与连通性分析:利用图形、数学和 Python 揭示时间序列数据中的隐藏模式
本文探讨了如何利用图论分析时间序列数据的平稳性和连通性。通过将时间序列数据转换为图结构,计算片段间的相似性,并构建连通图,可以揭示数据中的隐藏模式。文章介绍了平稳性的概念,提出了基于图的平稳性度量,并展示了图分区在可视化平稳性中的应用。此外,还模拟了不同平稳性和非平稳性程度的信号,分析了图度量的变化,为时间序列数据分析提供了新视角。
53 0
基于图论的时间序列数据平稳性与连通性分析:利用图形、数学和 Python 揭示时间序列数据中的隐藏模式
|
1月前
|
Python
【10月更文挑战第15天】「Mac上学Python 26」小学奥数篇12 - 图形变换与坐标计算
本篇将通过 Python 和 Cangjie 双语实现图形变换与坐标计算。这个题目帮助学生理解平面几何中的旋转、平移和对称变换,并学会用编程实现坐标变化。
64 1
|
1月前
|
机器学习/深度学习 移动开发 Python
【10月更文挑战第11天】「Mac上学Python 22」小学奥数篇8 - 排列组合计算
本篇将通过 Python 和 Cangjie 双语讲解如何计算排列与组合。这道题目旨在让学生学会使用排列组合公式解决实际问题,并加深对数学知识和编程逻辑的理解。
63 4
|
1月前
|
数据可视化 Python
【10月更文挑战第12天】「Mac上学Python 23」小学奥数篇9 - 基础概率计算
本篇将通过 Python 和 Cangjie 双语实现基础概率的计算,帮助学生学习如何解决简单的概率问题,并培养逻辑推理和编程思维。
48 1