python 为什么这段代码会输出多个相同的质数?

e3bfsja2  于 2023-02-18  发布在  Python
关注(0)|答案(1)|浏览(144)

大家好:)(我对此很陌生)
我正在尝试一段简单的代码,它应该打印给定范围内的质数。

nums = range(1, 11)

for number in nums:
    if number > 1:
        for i in range(2, number):
            if(number % i) == 0:
                break
            else:
                print(number)

我得到的输出如下...

5
5
5
7
7
7
7
7
9

我不明白为什么它要多次打印质数。
我以为它会打印出数字...
3,5,7,9
但似乎不明白为什么它打印5 3次和7 5次等。

dsekswqp

dsekswqp1#

您只需要将print(number)语句移到else块之外,

nums = range(1, 11)

for number in nums:
    if number > 1:
        for i in range(2, number):
            if (number % i) == 0:
                break
        else:
            print(number)

相关问题