_Phoebe__ 2022-03-23 19:41 采纳率: 96.9%
浏览 76
已结题

这个代码要输出1到100内所有素数 输出在哪里加呢

这个代码要输出1到100内所有素数 输出在哪里加呢


from math import sqrt
a=1#区间下界
b=100#区间上界
counter=b-a+1#反过来做 先假设全部都是素数
for i in range(a,b+1):
    if i==1:
        counter-=1#计数器不变 跳出这一次循环
    elif i in [2,3]:#2 3都是素数
        continue#计数器不变 跳出这一次循环
    else:
        for s in range(3,int(sqrt(i)+1),2):
            if i%s==0:#取余为0 说明不是素数
                counter-=1
                break
print(counter)

  • 写回答

1条回答 默认 最新

  • Py小郑 Python领域潜力新星 2022-03-23 20:13
    关注

    img

    
    
    from math import sqrt
    a=1#区间下界
    b=100#区间上界
    counter=b-a+1#反过来做 先假设全部都是素数
    for i in range(a,b+1):
        if i==1:
            counter-=1#计数器不变 跳出这一次循环
        elif i ==2:#2是素数
            print(2)
            continue#计数器不变 跳出这一次循环
        elif i ==3:#3是素数
            print(3)
            continue#计数器不变 跳出这一次循环
        else:
            for s in range(2,int(sqrt(i)+1),1):
                if i%s==0:#取余为0 说明不是素数
                    counter-=1
                    break
            else:
                print(i)
    print(counter)
     
    
    

    你的代码问题挺大的,我给你改了,望采纳

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 3月31日
  • 已采纳回答 3月23日
  • 创建了问题 3月23日