我的做法显示错误,请问怎么修改呢?

img

img


我的做法每次结果是(2,3) ,我输入【2,10),我不知道为啥其他的数是素数的输不出来,请问应该怎么改呢?

img

flag=1移到第一个for里面

将break语句去掉试试

提供一个参考方案:

M = input()
N = input()
prime = []
for i in range(int(M),int(N)):
    if i==1 or i ==2:
        prime.append(i)
        continue
    for j in range(2,i):
        if i%j==0:
            break
    if j==i-1:
        prime.append(i)
if len(prime)>0:
    print(prime)
    print(prime[0],prime[-1])
else:
    print(None)

img