python求解区间上的所有质数

def func1(x,y):
for i in range(x,y+1):
for j in range(2,int(i)):
if i%j==0:
break
else:
print(i,True)
break
print(3,15)
结果为
3 True
5 True
7 True
9 True
11 True
13 True
15 True
为什么9,15也是质数了,求就在这串代码的基础上更改。。

缩进不对,else和for对齐就可以了,第二个break去掉。另外,你在函数里有了print,调用的时候就不需要print了

def func1(x,y):
    for i in range(x,y+1):
        for j in range(2,i):
           if i%j==0:
             break
        else:
            print(i,True)
func1(3,15)
def func1(x,y):
    for i in range(x,y+1):
        for j in range(2,i):
           if i%j==0:
             break
        if j==i-1:
            print(i,True)

func1(3,15)

您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632