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类继承用法实例分析
May 27 Python
浅谈Python中的zip()与*zip()函数详解
Feb 24 Python
Python 实现Windows开机运行某软件的方法
Oct 14 Python
python利用thrift服务读取hbase数据的方法
Dec 27 Python
用Python将结果保存为xlsx的方法
Jan 28 Python
python使用requests模块实现爬取电影天堂最新电影信息
Apr 03 Python
教你如何编写、保存与运行Python程序的方法
Jul 12 Python
pyqt5、qtdesigner安装和环境设置教程
Sep 25 Python
Python处理PDF与CDF实例
Feb 26 Python
Python OpenCV去除字母后面的杂线操作
Jul 05 Python
python根据字典的键来删除元素的方法
Aug 16 Python
Python 中的 copy()和deepcopy()
Nov 07 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之Smarty入门
2007/01/04 PHP
初学CAKEPHP 基础教程
2009/11/02 PHP
常见php数据文件缓存类汇总
2014/12/05 PHP
PHP实现发送邮件的方法(基于简单邮件发送类)
2015/12/17 PHP
学习ExtJS 访问容器对象
2009/10/07 Javascript
网站导致浏览器崩溃的原因总结(多款浏览器) 推荐
2010/04/15 Javascript
extjs关于treePanel+chekBox全部选中以及清空选中问题探讨
2013/04/02 Javascript
JS 各种网页尺寸判断实例方法
2013/04/18 Javascript
Angular中的Promise对象($q介绍)
2015/03/03 Javascript
js光标定位文本框回车表单提交问题的解决方法
2015/05/11 Javascript
Angularjs过滤器使用详解
2016/05/25 Javascript
JS实现iframe自适应高度的方法(兼容IE与FireFox)
2016/06/24 Javascript
Node.js Buffer用法解读
2018/05/18 Javascript
ES6新增的数组知识实例小结
2020/05/23 Javascript
vue动态合并单元格并添加小计合计功能示例
2020/11/26 Vue.js
[06:53]2018DOTA2国际邀请赛寻真——为复仇而来的Newbee
2018/08/15 DOTA
python自动zip压缩目录的方法
2015/06/28 Python
Python将图片批量从png格式转换至WebP格式
2020/08/22 Python
Python中如何使用if语句处理列表实例代码
2019/02/24 Python
python自动发邮件总结及实例说明【推荐】
2019/05/31 Python
python的移位操作实现详解
2019/08/21 Python
Python paramiko 模块浅谈与SSH主要功能模拟解析
2020/02/29 Python
在matplotlib中改变figure的布局和大小实例
2020/04/23 Python
python中的split、rsplit、splitlines用法说明
2020/10/23 Python
html5使用html2canvas实现浏览器截图的示例
2017/08/31 HTML / CSS
工程管理造价应届生求职信
2013/11/13 职场文书
建筑设计学生的自我评价
2014/01/16 职场文书
上课睡觉检讨书
2014/01/28 职场文书
开学季活动策划方案
2014/02/28 职场文书
大学生学习2014年全国两会心得体会
2014/03/12 职场文书
《花瓣飘香》教学反思
2014/04/15 职场文书
雷锋式好少年事迹材料
2014/08/17 职场文书
招商引资工作汇报材料
2014/10/28 职场文书
三年级学生评语大全
2014/12/26 职场文书
公安纪律作风整顿心得体会
2016/01/23 职场文书
vue使用v-model进行跨组件绑定的基本实现方法
2021/04/28 Vue.js