计算两个数之间所以素数的和

img

img


def is_primer(m):
    if m <= 1:
        return False
    for i in range(2,m):
        if m % i == 0:
            return False
    return True
a = int(input("请输入第一个非负整数:"))
b = int(input("请输入第二个非负整数: "))

# 先求出所有的素数
data = [x for x in range(a,b+1) if is_primer(x)]
# 求和
res = sum(data)
# 表达式
expression = " + ".join([str(i) for i in data]) # 封装表达式
print(expression + " = {}".format(res))

结果:

img

如果觉得答案对你有帮助,请点击下采纳,谢谢~

这个电脑没有python,也好久没用了,直接写思路:
a=int(input("请输入一个非负整数:"))
b=int(input("请输入一个非负整数:"))
c=true #假设True代表质数,False代表合数,在这首先假设是质数
d=0
if a > b:
a,b=b,a
if a<0 or b<0:
printf("不符合规范,请输入正整数")
for i in rang(a,b]:
for j in rang(2,i):
if i % j==0:
c=false
break
if c #跳出循环,并判断,等价于 if c==true,符合该条件的均为质数
d=d+i
printf ("%d,%d之间的质数和为:%d",abd)
前几天看到一个题:猜数字游戏,对方心中默念一个1-1000内的数字,然后你写代码猜,每次打印一个数字,如果小了就打印小了,如果大了就打印大了,知道最后猜中为止,打印恭喜你猜对了