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 win32com 操作Exce的l简单方法(必看)
May 25 Python
Python进程间通信之共享内存详解
Oct 30 Python
python三引号输出方法
Feb 27 Python
pyqt5 tablewidget 利用线程动态刷新数据的方法
Jun 17 Python
详解pandas DataFrame的查询方法(loc,iloc,at,iat,ix的用法和区别)
Aug 02 Python
使用python快速在局域网内搭建http传输文件服务的方法
Nov 14 Python
解决安装pyqt5之后无法打开spyder的问题
Dec 13 Python
Pytorch Tensor 输出为txt和mat格式方式
Jan 03 Python
python如何实现单链表的反转
Feb 10 Python
opencv+python实现鼠标点击图像,输出该点的RGB和HSV值
Jun 02 Python
深入理解python协程
Jun 15 Python
基于Python编写一个监控CPU的应用系统
Jun 25 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
解析mysql 表中的碎片产生原因以及清理
2013/06/22 PHP
PHP 文件上传后端处理实用技巧方法
2017/01/06 PHP
javascript跨域刷新实现代码
2011/01/01 Javascript
在Windows上安装Node.js模块的方法
2011/09/25 Javascript
jQuery 绑定事件到动态创建的元素上的方法实例
2013/08/18 Javascript
js判断浏览器版本以及浏览器内核的方法
2015/01/20 Javascript
yui3的AOP(面向切面编程)和OOP(面向对象编程)
2015/05/01 Javascript
每天一篇javascript学习小结(基础知识)
2015/11/10 Javascript
Jquery跨域获得Json的简单实例
2016/05/18 Javascript
Nodejs中解决cluster模块的多进程如何共享数据问题
2016/11/10 NodeJs
EasyUI修改DateBox和DateTimeBox的默认日期格式示例
2017/01/18 Javascript
JavaScript函数基础详解
2017/02/03 Javascript
阿里大于短信验证码node koa2的实现代码(最新)
2017/09/07 Javascript
浅谈VUE-CLI脚手架热更新太慢的原因和解决方法
2018/09/28 Javascript
vue中使用elementUI组件手动上传图片功能
2019/12/13 Javascript
antd Form组件方法getFieldsValue获取自定义组件的值操作
2020/10/29 Javascript
[02:23]1个至宝=115个英雄特效 最“绿”至宝拉比克“魔导师密钥”登场
2018/12/29 DOTA
Python实现更改图片尺寸大小的方法(基于Pillow包)
2016/09/19 Python
python+opencv实现摄像头调用的方法
2019/06/22 Python
Django forms表单 select下拉框的传值实例
2019/07/19 Python
python Django的web开发实例(入门)
2019/07/31 Python
python使用beautifulsoup4爬取酷狗音乐代码实例
2019/12/04 Python
python装饰器原理与用法深入详解
2019/12/19 Python
pytorch下使用LSTM神经网络写诗实例
2020/01/14 Python
如何实现更换Jupyter Notebook内核Python版本
2020/05/18 Python
django在开发中取消外键约束的实现
2020/05/20 Python
python 如何将office文件转换为PDF
2020/09/22 Python
戴森美国官网:Dyson美国
2016/09/11 全球购物
医药专业推荐信
2013/11/15 职场文书
行政经理的岗位职责
2013/11/23 职场文书
素食餐饮项目创业计划书
2014/02/02 职场文书
购房协议书
2014/04/11 职场文书
质量提升方案
2014/06/16 职场文书
2015年乡镇卫生院工作总结
2015/04/22 职场文书
2015年幼儿园中班工作总结
2015/04/25 职场文书
写好Python代码的几条重要技巧
2021/05/21 Python