Comment puis-je arrêter une boucle While?

J'ai écrit un while loop dans une fonction, mais vous ne savez pas comment l'arrêter. Quand il ne répond pas à son état final, la boucle juste aller pour toujours. Comment puis-je l'arrêter?

def determine_period(universe_array):
    period=0
    tmp=universe_array
    while True:
        tmp=apply_rules(tmp)#aplly_rules is a another function
        period+=1
        if numpy.array_equal(tmp,universe_array) is True:
            break    #i want the loop to stop and return 0 if the 
                     #period is bigger than 12
        if period>12:  #i wrote this line to stop it..but seems it 
                       #doesnt work....help..
            return 0
        else:   
            return period
le problème est dans votre question. "quand il ne marche pas répondre à leur état final..". Vous n'êtes pas de test pour une dernière condition, vous dites "while true:". Vrai sera toujours Vrai.
merci pour votre commentaire,j'ai à peu près la moitié de connu sur la boucle while..afin de ne pas vraiment savoir comment poser une bonne question..

OriginalL'auteur NONEenglisher | 2008-12-15