一个区间求质数结果重复

 

 问题出在哪里了呢?

 

floor = int(input('请输入区间下限:'))
upper = int(input('请输入区间上限:'))
for num in range(floor, upper + 1):
    if num > 1:
        for i in range(2, num):
            if (num % i) == 0:
                break
            else:
                print(num)

输入1到20的话是这样:

请输入区间下限:1
请输入区间上限:20
3
5
5
5
7
7
7
7
7
9
11
11
11
11
11
11
11
11
11
13
13
13
13
13
13
13
13
13
13
13
15
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
19
19
19
19
19
19
19
19
19
19
19
19
19
19
19
19
19

 

你每次循环都要输出一次,肯定这样啦

你最好定义一个数来判断是不是zhi shu

把else和print向前移,和for i同级

 我给你改了一下,2也是质数呦

""" 
@Time    : 2021/6/24 17:15
@Author  : Keep Doing this
@FileName: CSDN给定区间求质数.py
@SoftWare: PyCharm
"""
floor =int(input("请输入区间下限"))
upper =int(input("请输入区间下限"))
for num in range(floor,upper+1):
    flag=0
    if num>1:
        for i in range(2,num):
            if(num%i==0):
                flag=1;
        if flag==0:
            print(num,end=" ")