在m~n区间里求所有素数

题目是求出区间【m,n】中的所有素数,并以空格间隔输入m,n的值,以空格间隔输出区间内的素数
而我这样编程
m,n=map(int,input().split())
for i in range(m,n+1):
for j in range(2,i):
if i%j==0:
break
else:
print(i,end=" ")
break
当输入10 20时输出为11 13 15 17 19
而正确结果应该为11 13 17 19。我的内容哪里有误呢?
希望有好心人帮我解答一下,思考一晚上了都(ฅ•﹏•ฅ)

m,n=map(int,input(">>>").split())

for i in range(m,n+1):
    flag = False
    for j in range(2,i ):
        if i % j ==0:
            flag = True
            break
    if not flag:    
        print(i,end=" ")

# 你的代码中,判断素数的逻辑有问题
# 当i=15时,j=2,直接就走else分支了
# 你的if else逻辑 基本都执行了一次,相当于是奇数就输出了。(并没有实现j从2到i都进行判断)


# 判断素数
def is_prime(num):
    flag = True
    if num > 1:
        for i in range(2, math.floor(math.sqrt(num)) + 1):
            if (num % i) == 0:
                flag = False
                break
    return flag

m = int(input("请输入m:"))
n = int(input("请输入n:"))
for i in (m, n + 1):
    if is_prime(i):
        print(i)