我已经看到了许多不同的方法可以同时打破两个嵌套循环,但对于我的代码来说,最快和最简单的是什么?
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
答案 0 :(得分: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)
当程序员编写模块化代码时,这往往是一件好事。
答案 1 :(得分:0)
将双循环重构为函数,并使用return
来突破。
答案 2 :(得分: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