显示一个范围内的所有素数


# Write a program to display all prime numbers within a range
start = 25
end = 50
for num in range(start, end + 1):
if num > 1: # all prime #s are greater than 1
for i in range(2,num):
if (num % i) == 0:
break
else:
print(num)

为什么else直接写在第二个for的下面?

是不是它不一定在for下,而是在for循环的之外的?因此,运行范围内的每个项,检查for循环中不是素数的项以及else?

过程中

的项。如果是这样的话,为什么会有break呢?break不立即停止整个进程并保持循环到达else语句吗?或者它只停止当前for循环——允许else语句运行?

我想我只是需要帮助来理解发生了什么。

我不是python专家,但是我查了一下。有2个for循环。第一个从开始到结束迭代这个数字。第二个测试(第一个for循环的)数字是否为素数。如果数字是% i == 0(模数(或"模数")(Or "mod")是一个数除以另一个数后的余数。)那么它就不是素数,所以不打印。它打破了第二个for循环。并迭代到第一个for循环的下一个数字。如果数字不是% i == 0那么它就是一个质数,它将被打印出来。

最新更新