Python 判断是否为质数或素数的实例


Posted in Python onOctober 30, 2017

一个大于1的自然数,除了1和它本身外,不能被其他自然数(质数)整除(2, 3, 5, 7等),换句话说就是该数除了1和它本身以外不再有其他的因数。

首先我们来第一个传统的判断思路:

def handlerNum(num):
 # 质数大于 1
 if num > 1:
  # 查看是否有其他因子
  for i in range(2, num//2+1):
   if (num % i) == 0:
    print(num,"不是质数")
    break
  else:
   print(num, "是质数")

 # 如果输入的数字小于或等于 1,不是质数
 else:
  print(num, "不是质数")
if __name__ == '__main__':
  # 用户输入一个数字
  num = int(input("请输入一个数字: "))

  # 调用函数处理方法
  handlerNum(num)

其实上面循环中的else和if并不是成对的,而是和for并排的,当然for和else搭配出现并不少见,慢慢地会有所体会的,这段代码的含义是,当for里面的条件都不满足时,就会执行else里面的代码。以上就是我们按照传统的思路来解题,其实还有一种更快,更简单的方法解题,那就是利用真或假来判断。

#处理函数
def IsPrime(num):
#根据质数的定义,其必须大于0
 if num == 1:
  return False


#循环需要判断的次数
 for i in range(2, num // 2 + 1):


#如果该数有其他的因子返回False,即不是质数
  if num % i == 0:
   return False
 return True

if __name__ == '__main__':


#输入一个数字 
  num = eval(input("请输入一个数,判断是否为质数:"))


#调用方法(如果是质数返回True,否则返回False),打印结果
  print(IsPrime(num))

这两种方法大体都差不多,只不过这给我们以后解决问题提供了一种新的思路。

以上这篇Python 判断是否为质数或素数的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python中itertools模块用法详解
Sep 25 Python
学习python之编写简单简单连接数据库并执行查询操作
Feb 27 Python
python 读取Linux服务器上的文件方法
Dec 27 Python
python 移动图片到另外一个文件夹的实例
Jan 10 Python
Python3数字求和的实例
Feb 19 Python
解决pyecharts在jupyter notebook中使用报错问题
Apr 23 Python
python批量修改图片尺寸,并保存指定路径的实现方法
Jul 04 Python
Python循环实现n的全排列功能
Sep 16 Python
使用python绘制温度变化雷达图
Oct 18 Python
python3 常见解密加密算法实例分析【base64、MD5等】
Dec 19 Python
tensorflow对图像进行拼接的例子
Feb 05 Python
PyCharm如何导入python项目的方法
Feb 06 Python
基于Python __dict__与dir()的区别详解
Oct 30 #Python
浅谈使用Python变量时要避免的3个错误
Oct 30 #Python
Python中进程和线程的区别详解
Oct 29 #Python
python logging日志模块的详解
Oct 29 #Python
解决出现Incorrect integer value: '' for column 'id' at row 1的问题
Oct 29 #Python
Python批量更改文件名的实现方法
Oct 29 #Python
python生成二维码的实例详解
Oct 29 #Python
You might like
解析phpstorm + xdebug 远程断点调试
2013/06/20 PHP
php上传图片客户端和服务器端实现方法
2015/03/30 PHP
PHP设计模式之迭代器模式
2016/06/17 PHP
Js callBack 返回前一页的js方法
2008/11/30 Javascript
使用原生js写的一个简单slider
2014/04/29 Javascript
Jquery之Bind方法参数传递与接收的三种方法
2014/06/24 Javascript
JavaScript中将数组进行合并的基本方法讲解
2016/03/07 Javascript
浅谈Nodejs应用主文件index.js
2016/08/28 NodeJs
JS简单实现仿百度控制台输出信息效果
2016/09/04 Javascript
vue 实现 tomato timer(蕃茄钟)实例讲解
2017/07/24 Javascript
Vue框架TypeScript装饰器使用指南小结
2019/02/18 Javascript
NProgress显示顶部进度条效果及使用详解
2019/09/21 Javascript
Node.js API详解之 assert模块用法实例分析
2020/05/26 Javascript
vue 组件之间事件触发($emit)与event Bus($on)的用法说明
2020/07/28 Javascript
一篇文章带你从零快速上手Rollup
2020/09/07 Javascript
解决removeEventListener 无法清除监听的问题
2020/10/30 Javascript
python logging类库使用例子
2014/11/22 Python
在Linux上安装Python的Flask框架和创建第一个app实例的教程
2015/03/30 Python
python实现爬虫统计学校BBS男女比例之数据处理(三)
2015/12/31 Python
Python解析json之ValueError: Expecting property name enclosed in double quotes: line 1 column 2(char 1)
2017/07/06 Python
Python unittest 简单实现参数化的方法
2018/11/30 Python
在Python文件中指定Python解释器的方法
2019/02/18 Python
使用python3调用wxpy模块监控linux日志并定时发送消息给群组或好友
2019/06/05 Python
python爬虫scrapy基本使用超详细教程
2021/02/20 Python
亚马逊巴西站:Amazon.com.br
2019/09/22 全球购物
国培远程培训感言
2014/03/08 职场文书
2014年教师业务学习材料
2014/05/12 职场文书
四风问题原因分析及整改措施
2014/10/24 职场文书
升职感谢信
2015/01/22 职场文书
经典导游欢迎词
2015/01/26 职场文书
前台岗位职责
2015/02/13 职场文书
2015年度团总支工作总结
2015/04/23 职场文书
毕业典礼主持词
2015/06/29 职场文书
2019入党申请书格式和范文
2019/06/25 职场文书
Nginx使用Lua模块实现WAF的原理解析
2021/09/04 Servers
JPA 通过Specification如何实现复杂查询
2021/11/23 Java/Android