首先你这个程序就是错误的,是无法求得质数的
质数(prime number)又称素数,有无限个。
质数定义为在大于1的自然数中,除了1和它本身以外不再有其他因数。
也就是说正能被1和它本身整除的数字,需要尝试除小于本身的所有数,如果除去1和数字本身,其他的都不能被整除,那么该数便可以被证明是质数
你这个程序仅仅除了2,以偏概全
我比较喜欢下面这个方式来求质数
- [i for i in range(1,100) if 0 not in [i%j for j in range(2,int(i**0.5+1))]]
复制代码
简化一下就是
- for i in range(1,101):
- for j in range(2,int(i**0.5+1)):
- if i%j == 0:
- break
- print(i,end = ' ')
复制代码
下面来说说,print的问题,你的疑问是end参数
print函数最常用的有三个参数
print(value,...,sep=' ',end='\n')
value就是要输出的数值,必选,可以是一个也可以是多个
sep是要输出多个数值时,数值之间的分割符,默认空格,选填
end是输出完该函数指定的所有数值后,追加的字符,默认是换行,选填
你的程序中,是将end修改为了空