1 #题目:判断101-200之间有多少个素数,并输出所有素数。

代码:3 tmp = [n for n in range(101,201)]

4 for i in reversed(tmp):

5     for j in range(2,i):

6         if (i%j == 0):

7             tmp.remove(i)

8             break

9 print('101到200之间有%d个素数'%len(tmp))

10 print('这些素数分别是:')

11 print (tmp)

运行结果:[root@HK code_100]# python code_12.py

101到200之间有21个素数

这些素数分别是:

[101, 103, 107, 109, 113, 127, 131, 137, 139, 149, 151, 157, 163, 167, 173, 179, 181, 191, 193, 197, 199]

[root@HK code_100]#

代码解释:这个代码用了一种比较繁琐的方式,不过用来练习list的操作还是不错的,因为牵扯到要统计素数的个数,

我觉得用len(list)比较合适, 思路是遍历整个list,发现不是素数的就从list中删除,最后剩下的

就是101到200之间的素数。

3 tmp = [n for n in range(101,201)]      #建立101到200的升序list

4 for i in reversed(tmp):                #倒叙遍历tmp列表

5     for j in range(2,i):               #针对tmp中的每个成员,用2到(i-1)进行取余

6         if (i%j == 0):                 #如果取余等于零,说明不是素数

7             tmp.remove(i)              #将不是素数的数字从list中删除

8             break                      #直接跳出循环,不进行后面的验证,以节省资源

9 print('101到200之间有%d个素数'%len(tmp))  #格式化输出素数的个数

10 print('这些素数分别是:')

11 print (tmp)                              #打印素数

在第四行中用了倒叙遍历list,因为tmp.remove的特点,如果用正序是得不出期望结果的,因为remove删掉一个元素的时候,

这个元素后面的所有元素的下标都会减1(如果所有元素下标都不变就不会有问题),但是for循环的迭代是下标依次加1,这样就会导致

在遍历list的时候有一些元素是遍历不到的,用逐步调试可以看到效果具体可以查一下remove的详细解释,这里使用倒叙是从后面开始减,

之前的下标不会用变化,这样就不会影响到最终的结果。

python编程语言集合_【python】编程语言入门经典100例--12相关推荐

  1. python入门经典代码-【python】编程语言入门经典100例--12

    1 #题目:判断101-200之间有多少个素数,并输出所有素数. 代码:3 tmp = [n for n in range(101,201)] 4 for i in reversed(tmp): 5 ...

  2. python入门经典27版_【python】编程语言入门经典100例--27

    [python]编程语言入门经典100例--27 发布时间:2020-02-27 20:35:50 来源:51CTO 阅读:520 作者:snc_snc 1 #题目:利用递归函数调用方式,将所输入的5 ...

  3. python入门经典100例-Python3经典100例(含习题答案) DOC 清晰版

    给大家带来的一篇关于Python3入门相关的电子文档资源,介绍了关于Python3.python习题方面的内容,本书是由python学习社区出版,格式为DOC,资源大小46.6 KB,Mrs.莫建辉编 ...

  4. python编程入门经典实例-编程语言入门经典100例【Python版】

    无论学习哪门计算机语言,只要把100例中绝大部分题目都做一遍,就基本掌握该语言的语法了. [程序1] 题目:有1.2.3.4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少? #Filena ...

  5. ZH奶酪:编程语言入门经典100例【Python版】

    无论学习哪门计算机语言,只要把100例中绝大部分题目都做一遍,就基本掌握该语言的语法了. [程序1] 题目:有1.2.3.4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少? #Filena ...

  6. python精彩编程200例-编程语言入门经典100例【Python版】

    无论学习哪门计算机语言,只要把100例中绝大部分题目都做一遍,就基本掌握该语言的语法了. [程序1] 题目:有1.2.3.4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少? #Filena ...

  7. python3入门经典100例-ZH奶酪:编程语言入门经典100例【Python版】

    无论学习哪门计算机语言,只要把100例中绝大部分题目都做一遍,就基本掌握该语言的语法了. [程序1] 题目:有1.2.3.4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少? #Filena ...

  8. python编程400例_ZH奶酪:编程语言入门经典100例【Python版】

    无论学习哪门计算机语言,只要把100例中绝大部分题目都做一遍,就基本掌握该语言的语法了. [程序1] 题目:有1.2.3.4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少? #Filena ...

  9. python绘图编程100例_编程语言入门经典100例【Python版】

    无论学习哪门计算机语言,只要把100例中绝大部分题目都做一遍,就基本掌握该语言的语法了. [程序1] 题目:有1.2.3.4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少? #Filena ...

最新文章

  1. 使用python的Flask实现一个RESTful API服务器端
  2. Caffe官方教程翻译(8):Brewing Logistic Regression then Going Deeper
  3. python如何创建模块教程_Python创建模块及模块导入的方法
  4. scale 和 transform-origin 实现线条从左侧进入,右侧离开效果
  5. 纯 js 导出 excel
  6. P4770-[NOI2018]你的名字【SAM,线段树合并】
  7. Windows8Windows Phone 做一个图片效果
  8. 分析go程序内存逃逸情况
  9. 经常听到一些老板说,你来公司上班就只是为了赚钱吗?
  10. Zookeeper与Kafka集群搭建
  11. 简单的form表单文件上传
  12. Word插入打勾复选框
  13. 使用树莓派开启HomeKit智能家居系统 篇一:树莓派系统安装与配置
  14. Dominant Resource Fairness: Fair Allocation of Multiple Resource Types
  15. SEO优化-SEO具体方法,SEO干货分享
  16. 《和平精英》与玛莎拉蒂跨界合作
  17. 关于keil-C51中code、idata以及xdata
  18. 浏览器兼容性测试工具Browser Sandbox
  19. 小白入门spring——IOC依赖注入
  20. 自己感觉比较不错的美剧(记录自己追剧的岁月)

热门文章

  1. javase开发工具包中的什么命令负责运行应用程序_想当程序员?先搞懂JavaSE、JavaEE和JavaME之间的区别吧!...
  2. python 中主线程结束 子线程还在运行么_Python爬虫进阶(二)爬虫之多任务模块(Ⅰ)...
  3. [TimLinux] scrapy 在Windows平台的安装
  4. 03-redis数据持久化
  5. Linux环境安装redis
  6. spring-boot 整合redis作为数据缓存
  7. SetWindowsHookEx 其他进程的 记录
  8. protobuf 编码实现解析(java)
  9. DEBUG -- CLOSE BY CLIENT STACK TRACE问题的两种解决方案,整理自网络
  10. document.execCommand()的用法小记