Python实现输出某区间范围内全部素数的方法

yipeiwu_com6年前Python基础

本文实例讲述了Python实现输出某区间范围内全部素数的方法。分享给大家供大家参考,具体如下:

# -*- coding: utf-8 -*-
# 简述:区间范围101-200
# 要求:判断这个区间内有多少个素数,并逐一输出。
def prime(m,n):
 list1=[]
 list2=[]
 for i in range(m,n+1):
 list1.append(i)
 for j in range(2,m/2):
  if i%j==0:
  list2.append(i)
  break
 #print list(set(list1).difference(set(list2)))#list1中有而list2中没有的
 list=[i for i in list1 if i not in list2]
 list.sort()
 print list
 print "该区间共有素数%d个"%len(list)
if __name__=="__main__":
 print "【听图阁-专注于Python设计】测试结果:"
 m=int(raw_input("请输入区间左端点:"))
 n=int(raw_input("请输入区间右端点:"))
 prime(m,n)

运行结果:

【听图阁-专注于Python设计】测试结果:
请输入区间左端点:101
请输入区间右端点:200
[101, 103, 107, 109, 113, 127, 131, 137, 139, 149, 151, 157, 163, 167, 173, 179, 181, 191, 193, 197, 199]
该区间共有素数21个

运行效果截图:

总结:

1、#注释掉的一行也是可以出结果的,但是list中的元素没有排序,用了sort()也是不行,列表补集这部分的知识需要补充

2、判断非素数我用了比较笨的方法,先算出素数再算补集,是因为直接判断素数无法运行出结果,汗

更多关于Python相关内容感兴趣的读者可查看本站专题:《Python数学运算技巧总结》、《Python数据结构与算法教程》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》、《Python入门与进阶经典教程》及《Python文件与目录操作技巧汇总

希望本文所述对大家Python程序设计有所帮助。

相关文章

分享一下Python 开发者节省时间的10个方法

分享一下Python 开发者节省时间的10个方法

Python 是一个美丽的语言,可以激发用户对它的爱。所以如果你试图加入程序员行列,或者你有点厌倦C++,Perl,Java 和其他语言,我推荐你尝试Python. Python有很多吸...

python3对拉勾数据进行可视化分析的方法详解

python3对拉勾数据进行可视化分析的方法详解

前言 上回说到我们如何把拉勾的数据抓取下来的,既然获取了数据,就别放着不动,把它拿出来分析一下,看看这些数据里面都包含了什么信息。 (本次博客源码地址:https://github.co...

对numpy中二进制格式的数据存储与读取方法详解

对numpy中二进制格式的数据存储与读取方法详解

使用save可以实现对numpy数据的磁盘存储,存储的方式是二进制。查看使用说明,说明专门提到了是未经压缩的二进制形式。存储后的数据可以进行加载或者读取,通过使用load方法。 In...

Python批处理更改文件名os.rename的方法

在工作中,我们经常会遇到需要对大批量文件进行重命名的操作,而python提供了很简单的方法: import os #top是目标文件夹(绝对路径),os.walk会读取其内的文件及...

pandas取出重复数据的方法

drop_duplicates为我们提供了数据去重的方法,那怎么得到哪些数据有重复呢? 实现步骤: 1、采用drop_duplicates对数据去两次重,一次将重复数据全部去除(...