Programme 1 UnboundLocalError: local variable 'p' referenced before assignment La variable LOCALE p (diférente de la variable GLOBALE p) n'a pas été initialisée, et ne peut pas être incrémentée. Programme 2 p est globale. Par contre il y a un n local et un n global, et ces deux n sont différents. 5 21 Programme 3 Ici, n et p sont globales. 10 21 Programme 4 5 20 Comme le paramètre p est un entier, donc non mutable, sa valeur n'est pas modifiée en fin de proclédure. Par contre, il a pu être modifié localement. Programme 5 Erreur. Un paramètre ne peut pas être en même temps une variable globale. Programme 6 n devient 10 puisqu'il est global. Comme le paramètre p est un entier, donc non mutable, sa valeur n'est pas modifiée en fin de proclédure. Par contre, il a pu être modifié localement. 10 20 Programme 7 Comme le paramètre n est un entier, donc non mutable, sa valeur n'est pas modifiée en fin de proclédure. Par contre, il a pu être modifié localement. p devient 21 puisqu'il est global. 5 21 Programme 8 Ici on a une fonction. n est modifié localement et la fonction retourne cette valeur qui sera stockée dans le n global. 10 21