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中使用第三方模块的教程
Apr 27 Python
用Python将IP地址在整型和字符串之间轻松转换
Mar 22 Python
python+selenium实现简历自动刷新的示例代码
May 20 Python
Django框架之DRF 基于mixins来封装的视图详解
Jul 23 Python
Python简易版停车管理系统
Aug 12 Python
python3实现用turtle模块画一棵随机樱花树
Nov 21 Python
Python 生成一个从0到n个数字的列表4种方法小结
Nov 28 Python
Python selenium抓取虎牙短视频代码实例
Mar 02 Python
Numpy 理解ndarray对象的示例代码
Apr 03 Python
keras:model.compile损失函数的用法
Jul 01 Python
python+selenium自动化实战携带cookies模拟登陆微博
Jan 19 Python
Python pyecharts案例超市4年数据可视化分析
Aug 14 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
单位速度在实战中的运用
2020/03/04 星际争霸
php 正确解码javascript中通过escape编码后的字符
2010/01/28 PHP
PHP微信开发之二维码生成类
2015/06/26 PHP
for 循环性能比较 提高for循环的效率
2009/03/19 Javascript
Jquery操作Select 简单方便 一个js插件搞定
2009/11/12 Javascript
jQuery避免$符和其他JS库冲突的方法对比
2014/02/20 Javascript
js,jquery滚动/跳转页面到指定位置的实现思路
2014/06/03 Javascript
jQuery中:focus选择器用法实例
2014/12/30 Javascript
javascript经典特效分享 手风琴、轮播图、图片滑动
2016/09/14 Javascript
JS 组件系列之Bootstrap Table 冻结列功能IE浏览器兼容性问题解决方案
2017/06/30 Javascript
webuploader分片上传的实现代码(前后端分离)
2018/09/10 Javascript
jQuery+css last-child实现选择最后一个子元素操作示例
2018/12/10 jQuery
node.js学习笔记之koa框架和简单爬虫练习
2018/12/13 Javascript
Vue项目引发的「过滤器」使用教程
2019/03/12 Javascript
python django 实现验证码的功能实例代码
2017/05/18 Python
Python3生成手写体数字方法
2018/01/30 Python
python爬虫实例详解
2018/06/19 Python
matplotlib给子图添加图例的方法
2018/08/03 Python
在python中利用KNN实现对iris进行分类的方法
2018/12/11 Python
使用python-Jenkins批量创建及修改jobs操作
2020/05/12 Python
python识别验证码的思路及解决方案
2020/09/13 Python
Python+OpenCV图像处理——打印图片属性、设置存储路径、调用摄像头
2020/10/22 Python
解决canvas转base64/jpeg时透明区域变成黑色背景的方法
2016/10/23 HTML / CSS
HTML5页面中尝试调起APP功能
2017/09/12 HTML / CSS
美国知名运动产品零售商:Foot Locker
2016/07/23 全球购物
荷兰最大的鞋子、服装和运动折扣店:Bristol
2021/01/07 全球购物
升职自荐信范文
2013/10/05 职场文书
高一历史教学反思
2014/01/13 职场文书
幼儿园教研活动方案
2014/01/19 职场文书
运动会领导邀请函
2014/02/05 职场文书
打造高效课堂实施方案
2014/03/22 职场文书
2014年教师业务工作总结
2014/12/19 职场文书
物业保洁员岗位职责
2015/02/13 职场文书
雾霾停课通知
2015/04/24 职场文书
放假通知怎么写
2015/08/18 职场文书
2021-4-5课程——SQL Server查询【3】
2021/04/05 SQL Server