想写一个python找质数小程序,但是不知道为什么,python跳过9这个数?

Python014

想写一个python找质数小程序,但是不知道为什么,python跳过9这个数?,第1张

这是因为遍历过程中,列表删除元素后,后续的元素会往前提

而遍历过程还是根据下标继续遍历,导致跳过了删除元素之后的那个元素

而i=4为合数,将该元素从list1中删除后,就会跳过之后的元素9

修改方法为:将list1中的所有质数append到一个新列表list2中,最后输出list2即可;

或者先用list2=list1.copy(),这里注意要拷贝而不能直接写为list2=list1

这样遍历list2中的数,然后从list1中删除合数,list2就不会受影响了

修改后的代码和运行结果为:

可见所有数都遍历到了,最终输出list1只剩下质数3

N要是整数,如果是浮点数,要转换成比自己大的最小的整数;

输出正好5个质数,定义一个计数器;

判断是否是质数,写个函数prime();

根据返回值是否是质数a都要+1,如果是质数,count-1;

输出时最后一个不带逗号,其他都带扩展资料

Python由荷兰数学和计算机科学研究学会的Guido van Rossum 于1990 年代初设计,作为一门叫做ABC语言的替代品。 Python提供了高效的高级数据结构,还能简单有效地面向对象编程。Python语法和动态类型,以及解释型语言的本质,使它成为多数平台上写脚本和快速开发应用的编程语言, 随着版本的'不断更新和语言新功能的添加,逐渐被用于独立的、大型项目的开发。

Python解释器易于扩展,可以使用C或C++(或者其他可以通过C调用的语言)扩展新的功能和数据类型。 Python 也可用于可定制化软件中的扩展程序语言。Python丰富的标准库,提供了适用于各个主要系统平台的源码或机器码。