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编写批量卸载手机中安装的android应用脚本
Jul 21 Python
Python解析树及树的遍历
Feb 03 Python
利用python批量检查网站的可用性
Sep 09 Python
对django xadmin自定义菜单的实例详解
Jan 03 Python
django基于restframework的CBV封装详解
Aug 08 Python
Django 对IP访问频率进行限制的例子
Aug 30 Python
jupyter notebook 添加kernel permission denied的操作
Apr 21 Python
python获取整个网页源码的方法
Aug 03 Python
通过代码实例了解Python sys模块
Sep 14 Python
Python基于locals返回作用域字典
Oct 17 Python
python库sklearn常用操作
Aug 23 Python
python在package下继续嵌套一个package
Apr 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
PHP static局部静态变量和全局静态变量总结
2014/03/02 PHP
windwos下使用php连接oracle数据库的过程分享
2014/05/26 PHP
实例介绍PHP的Reflection反射机制
2014/08/05 PHP
php实现俄罗斯乘法实例
2015/03/07 PHP
CentOS下搭建PHP环境与WordPress博客程序的全流程总结
2016/05/07 PHP
php简单实现批量上传图片的方法
2016/05/09 PHP
浅析Yii2缓存的使用
2016/05/10 PHP
PHP单例模式定义与使用实例详解
2017/02/06 PHP
Apache+PHP+MySQL搭建PHP开发环境图文教程
2020/08/06 PHP
PHP读取文件或采集时解决中文乱码
2021/03/09 PHP
jquery 简单的进度条实现代码
2010/03/11 Javascript
Jquery显示、隐藏元素以及添加删除样式
2013/08/09 Javascript
jQuery之选项卡的简单实现
2014/02/28 Javascript
js的延迟执行问题分析
2014/06/23 Javascript
javascript正则表达式参数/g与/i及/gi的使用指南
2014/08/27 Javascript
JavaScript实现将UPC转换成ISBN的方法
2015/05/26 Javascript
jQuery的ready方法实现原理分析
2016/10/26 Javascript
JS比较两个数值的大小实例
2016/11/25 Javascript
浅析JavaScript的几种Math函数,random(),ceil(),round(),floor()
2016/12/22 Javascript
vue2.0 自定义组件的方法(vue组件的封装)
2018/06/05 Javascript
关于单文件组件.vue的使用
2018/09/20 Javascript
vue瀑布流组件实现上拉加载更多
2020/03/10 Javascript
[01:18:21]EG vs TNC Supermajor小组赛B组败者组第一轮 BO3 第一场 6.2
2018/06/03 DOTA
Python中使用 Selenium 实现网页截图实例
2014/07/18 Python
使用Python &amp; Flask 实现RESTful Web API的实例
2017/09/19 Python
python paramiko利用sftp上传目录到远程的实例
2019/01/03 Python
python turtle库画一个方格和圆实例
2019/06/27 Python
基于django和dropzone.js实现上传文件
2020/11/24 Python
纯CSS3大转盘抽奖示例代码(响应式、可配置)
2017/01/13 HTML / CSS
三好学生先进事迹材料
2014/08/28 职场文书
2014年幼儿园园长工作总结
2014/12/17 职场文书
医德医风个人总结
2015/02/28 职场文书
2015年社区卫生工作总结
2015/04/21 职场文书
幼师辞职信范文大全
2015/05/12 职场文书
重阳节主题班会
2015/08/17 职场文书
幼儿园体操比赛口号
2015/12/25 职场文书