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实现抓取页面上链接的简单爬虫分享
Jan 21 Python
按日期打印Python的Tornado框架中的日志的方法
May 02 Python
python通过getopt模块如何获取执行的命令参数详解
Dec 29 Python
Python中collections模块的基本使用教程
Dec 07 Python
在linux系统下安装python librtmp包的实现方法
Jul 22 Python
Python树莓派学习笔记之UDP传输视频帧操作详解
Nov 15 Python
python-numpy-指数分布实例详解
Dec 07 Python
python定义类self用法实例解析
Jan 22 Python
Django配置Bootstrap, js实现过程详解
Oct 13 Python
Sublime Text3最新激活注册码分享适用2020最新版 亲测可用
Nov 12 Python
pycharm激活码2020最新分享适用pycharm2020最新版亲测可用
Nov 22 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
Discuz!X中SESSION机制实例详解
2015/09/23 PHP
CentOS下与Apache连接的PHP多版本共存方案实现详解
2015/12/19 PHP
Windows下PHP开发环境搭建教程(Apache+PHP+MySQL)
2016/06/13 PHP
PHP生成及获取JSON文件的方法
2016/08/23 PHP
学习thinkphp5.0验证类使用方法
2017/11/16 PHP
javascript间隔刷新的简单实例
2013/11/14 Javascript
js使用eval解析json实例与注意事项分享
2014/01/18 Javascript
jquery选择器之属性过滤选择器详解
2014/01/27 Javascript
批量修改标签css样式以input标签为例
2014/07/31 Javascript
JavaScript字符串对象replace方法实例(用于字符串替换或正则替换)
2014/10/16 Javascript
js实例属性和原型属性示例详解
2014/11/23 Javascript
jQuery中:text选择器用法实例
2015/01/03 Javascript
jquery实现多屏多图焦点图切换特效的方法
2015/05/04 Javascript
Node.js与MySQL交互操作及其注意事项
2016/10/05 Javascript
ES6新特性之数组、Math和扩展操作符用法示例
2017/04/01 Javascript
小程序开发基础之view视图容器
2018/08/21 Javascript
浅谈vue同一页面中拥有两个表单时,的验证问题
2018/09/18 Javascript
原生javascript运动函数的封装示例【匀速、抛物线、多属性的运动等】
2020/02/23 Javascript
NodeJS模块Buffer原理及使用方法解析
2020/11/11 NodeJs
以一个投票程序的实例来讲解Python的Django框架使用
2016/02/18 Python
读写json中文ASCII乱码问题的解决方法
2016/11/05 Python
Python编程中NotImplementedError的使用方法
2018/04/21 Python
python生成密码字典的方法
2018/07/06 Python
使用python将多个excel文件合并到同一个文件的方法
2019/07/09 Python
Pytorch实现LSTM和GRU示例
2020/01/14 Python
Anaconda+spyder+pycharm的pytorch配置详解(GPU)
2020/10/18 Python
超酷炫 CSS3垂直手风琴菜单
2016/06/28 HTML / CSS
教你使用Canvas处理图片的方法
2017/11/28 HTML / CSS
Microsoft新加坡官方网站:购买微软最新软件和技术产品
2016/10/28 全球购物
Bergfreunde丹麦:登山装备网上零售商
2017/02/26 全球购物
弘扬雷锋精神活动演讲稿
2014/03/04 职场文书
小学生志愿者活动方案
2014/08/23 职场文书
2014年中班下学期工作总结
2014/12/11 职场文书
运动会报道稿大全
2015/07/23 职场文书
python flask框架快速入门
2021/05/14 Python
eclipse创建项目没有dynamic web的解决方法
2021/06/24 Java/Android