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检测远程端口是否打开的方法
Mar 14 Python
Python 处理数据的实例详解
Aug 10 Python
微信跳一跳python自动代码解读1.0
Jan 12 Python
python smtplib模块自动收发邮件功能(一)
May 22 Python
python+opencv实现霍夫变换检测直线
Oct 23 Python
python3获取文件中url内容并下载代码实例
Dec 27 Python
python global和nonlocal用法解析
Feb 03 Python
python3中datetime库,time库以及pandas中的时间函数区别与详解
Apr 16 Python
简单了解Django项目应用创建过程
Jul 06 Python
通过实例解析python subprocess模块原理及用法
Oct 10 Python
python中四舍五入的正确打开方式
Jan 18 Python
用python批量解压带密码的压缩包
May 31 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+mysql写的简单留言本实例代码
2008/07/25 PHP
Linux系统下使用XHProf和XHGui分析PHP运行性能
2015/12/08 PHP
解决laravel中日志权限莫名变成了root的问题
2019/10/17 PHP
JavaScript 动态改变图片大小
2009/06/11 Javascript
图片轮换效果实现代码(点击按钮停止执行)
2013/04/12 Javascript
JS合并数组的几种方法及优劣比较
2014/09/19 Javascript
JavaScript导出Excel实例详解
2014/11/25 Javascript
JavaScript学习笔记之检测客户端类型是(引擎、浏览器、平台、操作系统、移动设备)
2015/12/03 Javascript
弹出遮罩层后禁止滚动效果【实现代码】
2016/04/29 Javascript
Bootstrap与KnockoutJs相结合实现分页效果实例详解
2016/05/03 Javascript
常用jQuery选择器汇总
2017/02/02 Javascript
基于vue实现多引擎搜索及关键字提示
2017/03/16 Javascript
AngularJS使用ng-class动态增减class样式的方法示例
2017/05/18 Javascript
详解vue-cli本地环境API代理设置和解决跨域
2017/09/05 Javascript
JavaScript解决浮点数计算不准确问题的方法分析
2018/07/09 Javascript
[38:27]完美世界DOTA2联赛PWL S2 Forest vs FTD.C 第二场 11.26
2020/11/30 DOTA
python实现中文输出的两种方法
2015/05/09 Python
Python实现简单生成验证码功能【基于random模块】
2018/02/10 Python
python实现简易通讯录修改版
2018/03/13 Python
使用Python更换外网IP的方法
2018/07/09 Python
简单谈谈python基本数据类型
2018/09/26 Python
python使用matplotlib绘制热图
2018/11/07 Python
python实现百度OCR图片识别过程解析
2020/01/17 Python
python 解决print数组/矩阵无法完整输出的问题
2020/02/19 Python
浅析Python 字符编码与文件处理
2020/09/24 Python
美国批发零售网站:GearXS
2016/07/26 全球购物
阿迪达斯俄罗斯官方商城:adidas俄罗斯
2017/03/08 全球购物
Baby Tulai澳大利亚:美国婴儿背带品牌
2018/10/15 全球购物
凌阳科技股份有限公司C++程序员面试题笔试题
2014/11/20 面试题
印刷工程专业应届生求职信
2013/09/29 职场文书
经典的班主任推荐信
2013/10/28 职场文书
计算机应用与科学个人的自我评价
2013/11/15 职场文书
镇创先争优活动总结
2014/08/28 职场文书
报到证办理个人委托书
2014/10/06 职场文书
开国大典观后感
2015/06/04 职场文书
Python下载商品数据并连接数据库且保存数据
2022/03/31 Python