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原始字符串(raw strings)用法实例
Oct 13 Python
python 数据清洗之数据合并、转换、过滤、排序
Feb 12 Python
Python反射和内置方法重写操作详解
Aug 27 Python
Python Cookie 读取和保存方法
Dec 28 Python
python程序快速缩进多行代码方法总结
Jun 23 Python
基于python的列表list和集合set操作
Nov 24 Python
python支持多线程的爬虫实例
Dec 21 Python
Python post请求实现代码实例
Feb 28 Python
详解如何在PyCharm控制台中输出彩色文字和背景
Aug 17 Python
Vs Code中8个好用的python 扩展插件
Oct 12 Python
利用Selenium添加cookie实现自动登录的示例代码(fofa)
May 08 Python
Python用tkinter实现自定义记事本的方法详解
Mar 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实现自动登入google play下载app report的方法
2014/09/23 PHP
php+mysqli实现批量执行插入、更新及删除数据的方法
2015/01/29 PHP
ThinkPHP实现附件上传功能
2017/04/27 PHP
轻量级 JS ToolTip提示效果
2010/07/20 Javascript
js实现下拉框选择要显示图片的方法
2015/02/16 Javascript
JavaScript获取浏览器信息的方法
2015/11/20 Javascript
基于nodejs+express(4.x+)实现文件上传功能
2015/11/23 NodeJs
JS实现搜索框文字可删除功能
2016/12/28 Javascript
angular中子控制器向父控制器传值的实例
2018/10/08 Javascript
React手稿之 React-Saga的详解
2018/11/12 Javascript
详解小程序云开发攻略(解决最棘手的问题)
2019/09/30 Javascript
element 中 el-menu 组件的无限极循环思路代码详解
2020/04/26 Javascript
[29:23]2014 DOTA2国际邀请赛中国区预选赛 LGD-GAMING VS CIS 第一场1
2014/05/23 DOTA
[03:42]2014DOTA2国际邀请赛 第三日比赛排位扑朔迷离
2014/07/12 DOTA
[01:14]TI珍贵瞬间系列(六):冠军
2020/08/30 DOTA
python清除字符串里非字母字符的方法
2015/07/02 Python
Python使用wxPython实现计算器
2018/01/30 Python
python中pytest收集用例规则与运行指定用例详解
2019/06/27 Python
Python imread、newaxis用法详解
2019/11/04 Python
python如何通过twisted搭建socket服务
2020/02/03 Python
一款利用html5和css3实现的3D立方体旋转效果教程
2016/04/26 HTML / CSS
带有css3动画效果的兼容多浏览器简单导航条示例
2014/01/26 HTML / CSS
关于HTML5你必须知道的28个新特性,新技巧以及新技术
2012/05/28 HTML / CSS
基于html5绘制圆形多角图案
2016/04/21 HTML / CSS
国际性能运动服装品牌:Dare 2b
2018/07/27 全球购物
在DELPHI中调用存储过程和使用内嵌SQL哪种方式更好
2016/11/22 面试题
测绘工程本科生求职信
2013/10/10 职场文书
过程装备与控制工程专业个人的求职信
2013/12/01 职场文书
同学聚会策划方案
2014/06/06 职场文书
致800米运动员广播稿(10篇)
2014/10/17 职场文书
闪闪红星观后感
2015/06/08 职场文书
2016年度农村党员干部主题教育活动总结
2016/04/06 职场文书
Python 实现定积分与二重定积分的操作
2021/05/26 Python
解析目标检测之IoU
2021/06/26 Python
java如何实现socket连接方法封装
2021/09/25 Java/Android
python 多态 协议 鸭子类型详解
2021/11/27 Python