为什么不“打破”停止这个for循环?

时间:2017-08-08 02:15:21

标签: python-3.x for-loop break

for i in range(999*999):
    if ispalindrome(999*999-i)==True and isprime(999*999-i) == False:
        factors = listfactors(999*999-i)
        for j in range(len(factors)):
            if len(str(factors[j])) == 3 and len(str(int((999*999-i)/factors[j])))==3:
                print(999*999-i)
                quit()

这是我的代码。我想检查这些条件是否为真,然后在找到第一个条件后停止,但它会打印出适合控制台条件的所有数字。我的想法是它应该在它获得第一个数字时停止

编辑:我尝试使用quit()而不是break,但这仍然无效,我不明白。我确实尝试了两个break语句,但是没有用。我想知道我的缩进是否错了。

2 个答案:

答案 0 :(得分:2)

为了退出双循环,请改用函数并从函数返回。中断仅适用于最内层循环。

Exampe:

zookeeper.properties

答案 1 :(得分:1)

函数{ "token": "JWT eyJhbGci...", "user": { "_id": "5986b81d940bab06ddc79b34", "email": "myemail@gmail.com", "role": "admin" } } 只会超出1级。做一个你想做的更简单的方法就是让它成为Hubert所说的功能。如果你真的不想使用函数,你可以创建另一个变量break并将其设置为True并检查它是否在每个级别都是True,如果是这样,则在找到后将其设置为False回答,这样当发现它将退出每个循环时,继续不再为真。

希望它有所帮助。

P.S。你应该用Hubert的回答标记,因为它解决了你的问题。