而不是 'Break'

Instead of 'Break'

我尝试使用布尔值而不是 'break' ,但我无法做到这一点。有没有办法在没有 'break' 的情况下编辑此代码?

质数:

lower = int(input("Enter the lower bound: "))
upper = int(input("Enter the upper bound: "))

for num in range(lower,upper+1):
    if num>1 :
        for i in range(2,num):
            if(num%i) == 0:
                break
        else:
             print(num, end =", ")

您可以将 break 替换为 pass。我想那会做你想要的。

您想摆脱 break 并保留在 num % i == 0 时立即退出内循环的相同行为。这是一种方法,使用布尔标志并将 for 替换为 while 因此我们可以为迭代添加一个额外的条件:

for num in range(max(2, lower), upper + 1):
    i = 2
    prime = True
    while i < num and prime:
        if num % i == 0:
            prime = False
        i += 1
    if prime:
        print(num, end=", ")