大佬,菜菜,帮帮 2022-04-30 09:32 采纳率: 80%
浏览 90
已结题

计算两个非负整数之间所有的素数的和: 请输入第一个非负整数: 2 请输入第二个非负整数: 14 2+3+5+7+11+13=41

改怎么做这个计算两个非负整数之间所有的素数的和: 请输入第一个非负整数: 2 请输入第二个非负整数: 14 2+3+5+7+11+13=41

  • 写回答

3条回答 默认 最新

  • 请叫我问哥 新星创作者: python技术领域 2022-04-30 11:42
    关注

    根据你的思路给出一版答案如下:
    PS:也可以参考其他人的答案哦,了解一下别人的思路有助于自己进步

    def isprime(a):
        if a<2:
            return False
        elif a == 2:
            return True
        elif a % 2 == 0:
            return False
        else:
            for i in range(3, int(a**0.5)+1):
                if a % i == 0:
                    return False
        return True
    
    def addprime(a, b):
        c = []
        for i in range(a, b+1):
            if isprime(i):
                c.append(i)
        return c
    
    print('本程序将计算两个非负整数之间所有素数的和')
    while True:
        a = int(input('请输入第一个非负整数:'))
        b = int(input('请输入第二个非负整数:'))
        if 0<a<1000000 and 0<b<100000 and a<=b:
            break
        print('输入错误')
    s = addprime(a, b)
    c = [str(i) for i in s]
    print(' + '.join(c),'={}'.format(sum(s)))
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 5月8日
  • 已采纳回答 4月30日
  • 创建了问题 4月30日