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自动发邮件库yagmail的示例代码

python自动发邮件库yagmail的示例代码

之前使用的python的smtplib、email模块发模块的一步步骤是: 一、先导入smtplib模块  导入MIMEText库用来做纯文本的邮件模板 二、发邮件几个相关的...

python微信跳一跳系列之色块轮廓定位棋盘

python微信跳一跳系列之色块轮廓定位棋盘

在前几篇博文中,我们分别采用颜色识别,模板匹配,像素遍历等方法实现了棋子和棋盘的定位,具体内容可以参见我的前面的文章内容,在这一篇中,我们来探索一种定位棋盘的新方法。 分析 经过...

python多任务之协程的使用详解

1|0使用yield完成多任务 import time def test1(): while True: print("--1--") time.sleep(0.5)...

详细解读Python中的__init__()方法

__init__()方法意义重大的原因有两个。第一个原因是在对象生命周期中初始化是最重要的一步;每个对象必须正确初始化后才能正常工作。第二个原因是__init__()参数值可以有多种形式...

Python标准库os.path包、glob包使用实例

os.path包 os.path包主要用于处理字符串路径,比如'/home/zikong/doc/file.doc',提取出有用的信息。 复制代码 代码如下: import os.pat...