双重中断嵌套循环
我见过很多种方法可以同时跳出两个嵌套的循环,但对于我的代码来说,哪种方法最快最简单呢?
primes = [2]
for a in range(3, 500, 2):
for b in range(2, int(a ** 0.5 + 0.5)):
if a % b != 0:
primes.append(a)
if a % b == 0:
[x for x in primes if x != a]
# double break
3 个回答
0
如果你不想用一个函数的话,可以用一个变量。这里的变量就是 flag
。
primes = [2]
flag = 0
for a in range(3, 500, 2):
for b in range(2, int(a ** 0.5 + 0.5)):
if a % b != 0:
primes.append(a)
if a % b == 0:
[x for x in primes if x != a]
flag = 1
break
if flag:
break
0
把这个双重循环改成一个函数,并使用 return
来退出。
3
把循环放到一个函数里,然后使用 return
这个关键词:
def func(primes):
for a in range(3, 500, 2):
for b in range(2, int(a ** 0.5 + 0.5)):
if a % b != 0:
primes.append(a)
if a % b == 0:
[x for x in primes if x != a]
return
primes = [2]
func(primes)
这样做通常是个好主意,因为它能让程序员写出更模块化的代码。