Python编程学习,高效求解素数程序实例

素数是编程中经常需要用到的。

作为学习Python的示例,下面是一个高效求解一个范围内的素数的程序,不需要使用除法或者求模运算。

 1 #coding:utf-8       #设置python文件的编码为utf-8,这样就可以写入中文注释
 2 def primeRange(n):
 3     myArray=[1 for x in range(n+1)]  ##列表解析,生成长度为(n+1)的列表,每个数值都为1
 4     myArray[0]=0
 5     myArray[1]=0
 6     startPos=2
 7     while startPos <= n:
 8         if myArray[startPos]==1:
 9             key=2
10             resultPos = startPos * key  #可知startPos的整数倍都不是素数,设置startPos的整数倍的位置为0表示非素数
11             while resultPos <= n:
12                 myArray[resultPos] =0
13                 key += 1
14                 resultPos = startPos *key
15         startPos += 1
16
17     resultList=[]   ##将最终的素数保存在resultList列表返回
18     startPos=0
19     while startPos <= n:
20         if myArray[startPos] == 1:
21             resultList.append(startPos)
22         startPos += 1
23     return resultList
24
25 numString=raw_input("Input the Range(>3):")
26 numInt=int(numString)
27 if numInt <= 3:
28     print "The Number Need to be greater than 3"
29 else:
30     primeResult=primeRange(numInt)
31     print "The Result is:",primeResult

执行:

Python编程学习,高效求解素数程序实例,布布扣,bubuko.com

时间: 2024-10-13 17:00:09

Python编程学习,高效求解素数程序实例的相关文章

python编程学习进度二

今天是学习python编程的第二天,今天仍然是看<Python编程从入门到实战>这本书,下面是主要学习的东西的总结 1.程序输入和raw_input()内建函数 从用户得到数据输入的最好方式使用raw_input()函数,它读取标准输入,并将读取到的数据赋值给指定的变量. 注释: 和大部分脚本及Unix-shell语言一样,python也使用 # 符号标示注释,从#开始直到一行结束的内容都是注释 操作符 和其他大多数语言一样,Python中的标准算数操作符以你熟悉的方式工作.加.减.乘.除.取

python编程学习进度一

以前自己写项目后台基本都是使用 Java语言来实现的,从来没有好好学习过Python语言,之前只做过相关的爬虫编程,并没有深入了解学习过.今天跳读了一本评价极好的书<Python编程从入门到实战>,以复习一下之前的 Python 基础.然后分析一下我学习的一些东西. Python解释器有两种,也就是说有两种方式执行Python代码——①交互式编程.②脚本式编程很多初始教程采用交互式编程这里借助 pycharm,采用脚本式编程. 1.数据类型 # 1.全体小写 print('Itaem'.low

python编程学习进度四

今天自己写了 一个简单代码帮助自己理解python编程中的一些类的关系以及一些函数属性, 总结如下: 1,在python当中一切皆对象,每产生一个对象会对应三个属性:id.类型type和数值2,创建一个类就会创建一个类的名称空间,用来存储类中定义的所有名字,这些名字称为类的属性:而类中有两种属性:数据属性和函数属性,其中类的数据属性是共享给所有对象的,而类的函数属性是绑定到所有对象的. 3,在类的内部来说,__init__是类的函数属性,但是对于对象来说,就是绑定方法.4,命名空间的问题:先从对

Python编程学习之利用selenium分辨出可访问的网页并获取网页内容

一.前言 笔者在前面的文章中收集到一些域名,在这些域名收集完后,并不是每一个域名都有作用,我们要过滤掉访问不了的网站,所以今天学习利用Python中的selenium模块启动Chromium来请求网站,下面记录一下自己的学习过程. 二.学习过程 1.开发工具: Python版本:3.7.1 相关模块: selenium模块 pymysql模块 2.原理简介 从数据库读取出需要访问的域名------利用selenium进行访问域名并获取网站标题.内容长度.截图------存入数据库 from se

Python编程学习——拷贝

简介: 这一篇博客主要讨论Python对象的拷贝问题,区分浅拷贝和深拷.为了保持追踪内存中的对象,Python使用了引用计数这一简单技术,下面将进行简单介绍. 1.引用计数: 当对象被创建并赋值给变量时,该对象的引用计数就被设置为 1 .当同一个对象又被赋值给其他变量时,或作为参数传给函数.方法或类实例时,或被赋值为一个窗口对象的成员时,该对象的一个新的引用(或称为别名)就被创建,该对象的引用计数加 1 .使用del关键字可以减少引用计数. 我们可以看到下面代码: #!/usr/bin/env

caffe的python接口学习(4)mnist实例手写数字识别

以下主要是摘抄denny博文的内容,更多内容大家去看原作者吧 一 数据准备 准备训练集和测试集图片的列表清单; 二 导入caffe库,设定文件路径 # -*- coding: utf-8 -*- import caffe from caffe import layers as L,params as P,proto,to_proto #设定文件的保存路径 root='/home/xxx/' #根目录 train_list=root+'mnist/train/train.txt' #训练图片列表

学习Python编程的11个资源

转自 http://blog.jobbole.com/71064/  用于以后学习备份 用 Python 写代码并不难,事实上,它一直以来都是被声称为最容易学习的编程语言.如果你正打算学习 web 开发,Python 是一个不错的选择,甚至你想学游戏开发也可 以从 Python 开始,因为用 Python 来构建游戏的资源实在是太多了.这是一种快速 学习语言的一种方法. 许多程序员使用 Python 作为初学语言,然后接着是像 PHP 和 Ruby 这样的语言.它也是2014最热门的 web 开

学习Python编程的11个精品资源

本文由 伯乐在线 - atupal 翻译自 Alex Ivanovs.欢迎加入技术翻译小组.转载请参见文章末尾处的要求. 用 Python 写代码并不难,事实上,它一直以来都是被声称为最容易学习的编程语言.如果你正打算学习 web 开发,Python 是一个不错的选择,甚至你想学游戏开发也可 以从 Python 开始,因为用 Python 来构建游戏的资源实在是太多了.这是一种快速 学习语言的一种方法. 许多程序员使用 Python 作为初学语言,然后接着是像 PHP 和 Ruby 这样的语言.

Python学习笔记四:列表,购物车程序实例

列表 切片 中括号,逗号分隔,可以一次取出多个元素,起始位置包括,结束位置不包括(顾头不顾尾) 如果取最后一个,而且不知道列表长度,可以使用负数(-1是最后一个,以此类推) 如果取最后几个,记住从左往右数着取值,顾头不顾尾,所以如果取最后两个应该是[-2:] 从前取,如果是从0 开始,也可以省略 追加元素 a_list.append(value) 插入元素到任意位置 a_list.insert(index,value) 修改元素 a_list[index]=value 删除元素 a_list.r