Python 而不是';中断';
我试图用布尔值代替“break”,但我没能做到这一点。有没有一种方法可以在不中断的情况下编辑此代码 素数:Python 而不是';中断';,python,break,Python,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):
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
。我认为这将满足您的需要。您希望摆脱中断
并保留在num%I==0时退出内部循环的相同行为。这是一种方法,使用布尔标志并用while
替换for
,这样我们就可以为迭代添加一个额外的条件:
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=", ")
适用于范围内的数值(最大值(2,更低),上限+1):
i=2
素数=真
当i
这根本不是OP所要求的……而且pass
什么都不做,它肯定不会让你打破当前的循环。