python找出因数与质因数的方法


Posted in Python onJuly 25, 2019

最近有一个学弟问我一些求解质因数的问题,帮他解决问题的同时自己也试着写了几个差不多效果的脚本,有很多不同的思路,以下是相关脚本。

n = int(input("input number: ")) # 输入数字
fac = [] # 定义一个列表存放因子
for i in range(2, n): # 这里的逻辑和你一样
  if n % i == 0:
    fac.append(i) # 如果是因子就放进去
    continue
  else:
    pass
if len(fac) == 0: # 判断一下
  print("prime!")
else:
  print(fac)

这个是将所有的因数都放在一个列表里的做法。

def isprime(n): # 一个判断质数的方法,如果是质数,就返回这个数,如果不是质数,就什么也不返回
  for i in range(2, n):
    if n % i == 0:
      break
  else:
    return n 
 
num = int(input("input number: ")) # 输入一个数,存为num
i = 1 # 设置哨兵变量为1
if num >= 2: # 首先判断num是否符合判断条件
 
  while i <= num: # 注意这里一定要用while语句循环,因为哨兵变量最后要被更新
    i += 1 # i = i + 1 尝试遍历从1到num的所有数
    if num % i == 0: # 如果i是他的因子
      print(isprime(i)) # 先看这个因子是不是质数,是就输出
      num = num / i # 此时更新一下num
      # print("num is %s now!" % num) # 可以看看现在num是多少
      i = 1 # 记得把哨兵重新设置为1,这样循环才会更新,我一开始用for语句循环,发现没法从头开始循环
      pass # 继续
    else:
      pass # 若i不是num的因子,跳过
else:
  print("error") # 不符合条件,就输出错误

这是质因数分解的做法。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
教大家使用Python SqlAlchemy
Feb 12 Python
简单谈谈Python流程控制语句
Dec 04 Python
python爬虫面试宝典(常见问题)
Mar 02 Python
Python中请不要再用re.compile了
Jun 30 Python
使用python serial 获取所有的串口名称的实例
Jul 02 Python
python pandas模块基础学习详解
Jul 03 Python
Ubuntu+python将nii图像保存成png格式
Jul 18 Python
python集合常见运算案例解析
Oct 17 Python
python多项式拟合之np.polyfit 和 np.polyld详解
Feb 18 Python
解决tensorflow/keras时出现数组维度不匹配问题
Jun 29 Python
K近邻法(KNN)相关知识总结以及如何用python实现
Jan 28 Python
Python常遇到的错误和异常
Nov 02 Python
HTML的form表单和django的form表单
Jul 25 #Python
Python3 批量扫描端口的例子
Jul 25 #Python
python3 批量获取对应端口服务的实例
Jul 25 #Python
Python实现微信小程序支付功能
Jul 25 #Python
Form表单及django的form表单的补充
Jul 25 #Python
python实现切割url得到域名、协议、主机名等各个字段的例子
Jul 25 #Python
python按修改时间顺序排列文件的实例代码
Jul 25 #Python
You might like
浅析php header 跳转
2013/06/17 PHP
Win7 64位系统下PHP连接Oracle数据库
2014/08/20 PHP
PHP中实现Bloom Filter算法
2015/03/30 PHP
Javascript写了一个清除“logo1_.exe”的杀毒工具(可扫描目录)
2007/02/09 Javascript
编写跨浏览器的javascript代码必备[js多浏览器兼容写法]
2008/10/29 Javascript
Javascript 表单之间的数据传递代码
2008/12/04 Javascript
jquery插件 cluetip 关键词注释
2010/01/12 Javascript
利用js定义一个导航条菜单
2017/03/14 Javascript
JavaScript与Java正则表达式写法的区别介绍
2017/08/15 Javascript
Angular2.0实现modal对话框的方法示例
2018/02/18 Javascript
VeeValidate在vue项目里表单校验应用案例
2018/05/09 Javascript
layui弹出层按钮提交iframe表单的方法
2018/08/20 Javascript
微信小程序中this.data与this.setData的区别详解
2018/09/17 Javascript
如何写好一个vue组件,老夫的一年经验全在这了(推荐)
2019/05/18 Javascript
Vue编写可显示周和月模式的日历 Vue自定义日历内容的显示
2019/06/26 Javascript
微信公众号获取用户地理位置并列出附近的门店的示例代码
2019/07/25 Javascript
antd配置config-overrides.js文件的操作
2020/10/31 Javascript
python从ftp下载数据保存实例
2013/11/20 Python
Python对象属性自动更新操作示例
2018/06/15 Python
对python修改xml文件的节点值方法详解
2018/12/24 Python
numpy中的meshgrid函数的使用
2019/07/31 Python
python jenkins 打包构建代码的示例代码
2019/11/29 Python
在Python中通过threshold创建mask方式
2020/02/19 Python
使用celery和Django处理异步任务的流程分析
2020/02/19 Python
windows下Pycharm安装opencv的多种方法
2020/03/05 Python
python如何控制进程或者线程的个数
2020/10/16 Python
HTML5中drawImage用法分析
2014/12/01 HTML / CSS
日本最大的旅游网站:Rakuten Travel(乐天旅游)
2018/08/02 全球购物
档案管理员岗位职责
2013/12/01 职场文书
医院总经理职责
2013/12/26 职场文书
工程师岗位职责规定
2014/02/26 职场文书
高三家长寄语
2014/04/03 职场文书
高校群众路线教育实践活动剖析材料
2014/10/10 职场文书
2015幼儿园新学期寄语
2015/02/27 职场文书
收入证明怎么写
2015/06/12 职场文书
Redis Stream类型的使用详解
2021/11/11 Redis