La fonction ne change pas de variable globale

mon code est comme suit:

done = False

def function():
    for loop:
        code
        if not comply:
            done = True  #let's say that the code enters this if-statement

while done == False:
    function()

Pour une raison quelconque, quand mon code entre dans le if, il n'est pas sortie de la boucle while après c'est fait avec la fonction().

MAIS, si je code comme ceci:

done = False

while done == False:
    for loop:
    code
    if not comply:
        done = True  #let's say that the code enters this if-statement

...il sort de la boucle while. Ce qui se passe ici?

J'ai fait en sorte que mon code entre dans le if. Je n'ai pas d'exécuter le débogueur encore parce que mon code a beaucoup de boucles (assez grand tableau 2D) et j'ai donné sur le débogage parce qu'elle est tellement fastidieux. Comment se "fait" n'est pas modifié lorsqu'il est dans une fonction?

  • Beaucoup de Python variable globale questions d'aujourd'hui.
  • Merci les gars! Ne peux pas croire que c'était que simple, mais il est certainement une touche différente de Java/C++
InformationsquelleAutor cYn | 2012-09-30