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迭代器的使用方法实例
Nov 21 Python
收藏整理的一些Python常用方法和技巧
May 18 Python
使用FastCGI部署Python的Django应用的教程
Jul 22 Python
一张图带我们入门Python基础教程
Feb 05 Python
Python使用sftp实现上传和下载功能(实例代码)
Mar 14 Python
关于python的list相关知识(推荐)
Aug 30 Python
Python实现简单查找最长子串功能示例
Feb 26 Python
Python3.5基础之NumPy模块的使用图文与实例详解
Apr 24 Python
对Python中画图时候的线类型详解
Jul 07 Python
详解python破解zip文件密码的方法
Jan 13 Python
python利用opencv保存、播放视频
Nov 02 Python
Python批量删除mysql中千万级大量数据的脚本分享
Dec 03 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
Zend Framework使用Zend_Loader组件动态加载文件和类用法详解
2016/12/09 PHP
php简单随机字符串生成方法示例
2017/04/19 PHP
laravel 5.4中实现无限级分类的方法示例
2017/07/27 PHP
Laravel 实现密码重置功能
2018/02/23 PHP
php合并数组并保留键值的实现方法
2018/03/12 PHP
基于PHP的登录和注册的功能的实现
2020/08/06 PHP
安装PHP扩展时解压官方 tgz 文件后没有configure文件无法进行配置编译的问题
2020/08/26 PHP
flexigrid 参数说明
2010/11/23 Javascript
jquery实现向下滑出的二级导航下滑菜单效果
2015/08/25 Javascript
Markdown+Bootstrap图片自适应属性详解
2016/05/21 Javascript
辨析JavaScript中的Undefined类型与null类型
2016/05/26 Javascript
使用ef6创建oracle数据库的实体模型遇到的问题及解决方案
2017/11/09 Javascript
基于vue 添加axios组件,解决post传参数为null的问题
2018/03/05 Javascript
ios中视频的最后一桢问题解决
2019/05/14 Javascript
JavaScript实现的3D旋转魔方动画效果实例代码
2019/07/31 Javascript
如何在JavaScript中创建具有多个空格的字符串?
2020/02/23 Javascript
Vue 自适应高度表格的实现方法
2020/05/13 Javascript
跟老齐学Python之一个免费的实验室
2014/09/14 Python
python中查看变量内存地址的方法
2015/05/05 Python
Python统计日志中每个IP出现次数的方法
2015/07/06 Python
Python三级目录展示的实现方法
2016/09/28 Python
python实现发送邮件功能代码
2017/12/14 Python
PyQt5实现下载进度条效果
2018/04/19 Python
python 将大文件切分为多个小文件的实例
2019/01/14 Python
使用Python的OpenCV模块识别滑动验证码的缺口(推荐)
2019/05/10 Python
python进阶之自定义可迭代的类
2019/08/20 Python
CSS3实现苹果手机解锁的字体闪亮效果示例
2021/01/05 HTML / CSS
canvas绘制表情包的示例代码
2018/07/09 HTML / CSS
加拿大女包品牌:Matt & Nat
2017/05/12 全球购物
Fossil德国官网:化石手表、手袋、珠宝及配件
2019/12/07 全球购物
世界上最大的乐谱选择:Sheet Music Plus
2020/01/18 全球购物
财务内勤岗位职责
2014/04/17 职场文书
效能风暴心得体会
2014/09/04 职场文书
写给医生的感谢信
2015/01/22 职场文书
导游词之南京莫愁湖公园
2019/11/13 职场文书
深入探讨opencv图像矫正算法实战
2021/05/21 Python