素数的定义:一个数如果只能被1和自身整除,则该数为素数。如果用编程的思维思考,则是说,如果一个数被比它小的数(1除外)整除后余数为0,则说明这个数可以被其他数整除,则该数为合数,否则该数为质数。
Python代码如下:
注释:①range()的起始值应该设为2,如果起始值设为1,则会第一次打印说该数是合数。
运行结果如下:
可见代码功能基本实现,但是打印了5次相同内容,这是因为每次i从range中取一次值都会有一个print结果输出,怎么减少重复输出呢?
改进的代码:
注释:①这里if 语句成立后,则会执行break语句,结束整个for 循环,并且不执行break之后的所有语句。else语句与for循环为同等缩进,意味着是同一级别,在for循环执行后执行。
②因为一个数是合数的概率大于是素数的概率,所有我们先判断是否为合数,只要有一个非0、非x本身的数能够整除x,则说明x为合数,因此,只要找到一个这样的i,就返回判断结果,并break整个循环。