for i in range(2, 100):
is_prime = 1
for j in range(2, (int)(i**0.5 + 1)):
if i % j == 0:
is_prime = 0
break
if is_prime:
print(i, end = " ")
运行结果: 2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97
for循环从2到100遍历,定义一个判断标志,分别让判断的数(即 i )去从2枚举到根号i,如果取模为0,说明除了1以外有一个数是可以被整除的,也就不是素数,直接break掉最后判断再print
这里为什么枚举到2~根号i不给出解释,自行百度,csdn上也有许多解释
下面是函数式的求法,附加打印素数的和
def check(n):
for j in range(2, (int)(n**0.5 + 1)):
if n % j == 0:
return 0
return 1
sum = 0
for i in range(2,100):
if check(i):
print(i, end = " ")
sum = sum + i
print("n1到100素数和:%d " % sum)



