Module: Sous-routines (Python) : Procédures et fonctions - 1


Problem

9 /11


Variables locales et globales

Theory Click to read/hide

Variables locales et globales

Les variables introduites dans le programme principal sont appelées globales (ou partagées).

Vous pouvez accéder aux variables globales à partir de n'importe quel sous-programme. 

Il est souvent nécessaire d'introduire des variables supplémentaires qui ne seront utilisées que dans le sous-programme. De telles variables sont appelées locales (ou locales). Vous ne pouvez travailler avec eux qu'à l'intérieur du sous-programme dans lequel ils sont créés. Le reste des routines ne "sait" rien d'eux.

Ainsi, il est possible de limiter la portée (portée) d'une variable uniquement au sous-programme où elle est vraiment nécessaire. En programmation, cette technique est appelée encapsulation  - masquer la variable pour qu'elle ne soit pas modifiée de l'extérieur.

Analysez trois programmes :
def test() : imprimer(i)
def test() :   je = 2 imprimer(i)
def test() :   global i je = 2 # programme principal je = 15 imprimer (je)
Description Programme
1) Dans ce programme, la variable i est locale. S'il n'y a pas de variable i dans le programme principal, alors nous aurons un message d'erreur. Et s'il existe une telle variable (alors c'est une variable globale), alors sa valeur est affichée à l'écran.
2) Ici, même s'il y a une variable globale i, une nouvelle variable locale i sera créée avec une valeur de 2, et 2 apparaîtra sur le écran.
3) Dans ce programme, il y a une variable globale i avec une valeur de 15. Sa valeur peut être changée à l'intérieur du sous-programme, pour cela il faut déclarer explicitement qu'elle est globale ( utilisez la commande global ).
La procédure fonctionnera avec la variable globale i et on lui affectera une nouvelle valeur de 2. La valeur 2 s'affiche.


 

Problem

Écrivez une procédure avec un paramètre n qui génère un arbre de Noël avec une couronne de hauteur n. Le programme principal doit contenir l'entrée de la valeur du n variable et l'appel de procédure.< br />  
Exemples
    o    ooo   ooooo  ooooooo ooooooooo
# Entrée Sortie
1 5