python练习题17:求100以内的素数和

描述

求100以内的素数之和并输出。


输入格式

该题目没有输入


输入输出示例

示例 输入 输出
示例1 无(红色字体不是OJ的输入) 说明:直接输出100以内的素数之和。(红色字体不是OJ的输出)

代码

num=100
i=2
qh=0
for i in range(2,100):
    j=2
    for j in range(2,i):
        if(i%j==0):
            break
    else:
        qh+=i
print(qh)

题目来源:python123.io


补充

获取100以内的素数(质数)

#方法一
num=[];
i=2
for i in range(2,100):
   j=2
   for j in range(2,i):
      if(i%j==0):
         break
   else:
      num.append(i)
print(num)

#方法二
import math
def func_get_prime(n):
  return list(filter(lambda x: not [x%i for i in range(2, int(math.sqrt(x))+1) if x%i ==0], range(2,n+1)))
print (func_get_prime (100))

#方法三
import math

N = 100 
print (list(p for p in range(2, N) if 0 not in ( p%i for i in range(2,int(math.sqrt(p))+1))))

python3版本
方法二、方法三需要引用list()转换成列表输出,要不然输出为:
方法二输出:
方法三输出: at 0x00000278AEA74A98>

你可能感兴趣的:(学习,python)