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


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


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

    源码:

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

    1. # 计算质数
    2. import os
    3. os.system("title 质数查询与判断:")
    4. def isZhi(num):
    5. # 质数大于 1
    6. if num > 1:
    7. # 查看因子
    8. for i in range(2, num):
    9. if (num % i) == 0:
    10. return False
    11. break
    12. else:
    13. return True
    14. # 如果输入的数字小于或等于 1,不是质数
    15. else:
    16. return False
    17. def baiZhi(size):
    18. count = 0
    19. for i in range(2, size):
    20. if isZhi(i):
    21. print(i, end="\t")
    22. count += 1
    23. if count % 5 == 0:
    24. print()
    25. while True:
    26. try:
    27. choose = input("输入功能选择: 1、判断质数\t2、查询范围内所有质数")
    28. if choose == "1":
    29. num = int(input("请输入一个数字: "))
    30. if isZhi(num):
    31. print("是质数")
    32. else:
    33. print("不是质数")
    34. elif choose == "2":
    35. num = int(input("请输入查询范围(例如:1000): "))
    36. baiZhi(num)
    37. print()
    38. except:
    39. 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】代表成功了。

    效果如下:

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

    以下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对。

  • 相关阅读:
    【ES6 03】变量解构赋值
    飞机牵引车-阅读相关规范
    java毕业设计电动机营销系统Mybatis+系统+数据库+调试部署
    java基于springboot+vue+elementui的 废品回收站管理系统
    C/C++输出整数部分 2021年12月电子学会青少年软件编程(C/C++)等级考试一级真题答案解析
    项目经理年终夜话:我的“第二年状态”
    基于Python的招聘岗位数据分析系统的设计与实现
    设计模式-访问者模式
    HTML+CSS:移动端分辨率、视口、Flex布局、文字溢出显示省略号、溢出两行显示省略号
    洛谷P2261 整除分块模板
  • 原文地址:https://blog.csdn.net/feng8403000/article/details/127759565