在条件上打破内联循环

时间:2017-12-30 22:51:45

标签: python-3.x loops if-statement

我想找到第一个数字k,这样所有自然数的平方和就可以被200整除。

正常解决方案:

sum = 0
for k in range(1, max+1):
    sum += k**2
    if sum % 200 == 0:
        return k

我有一个单行:

print(sum([i^2 for i in range(1, 1000)]))

但是我想在这个总和被200整除后立即打破这个循环。

是否可以这样做?

修改

我在break list comprehension上看过这个Q& A但是当列表中的值满足某些要求时它会中断。我希望在迭代过的所有值的sum达到某种要求时中断。

0 个答案:

没有答案