Boucles

Tant que ... faire ...

Tant qu'une condition est vraie, faire ce qui est indenté.

In [1]:
ouf = 0

while ouf < 10:
    print(ouf , "on n'est pas rendu à 10")
    ouf = ouf + 1
    
print(ouf , " : enfin sortis de la boucle !")
0 on n'est pas rendu à 10
1 on n'est pas rendu à 10
2 on n'est pas rendu à 10
3 on n'est pas rendu à 10
4 on n'est pas rendu à 10
5 on n'est pas rendu à 10
6 on n'est pas rendu à 10
7 on n'est pas rendu à 10
8 on n'est pas rendu à 10
9 on n'est pas rendu à 10
10  : enfin sortis de la boucle !

Ecrire ci-dessous une boucle qui permette d'afficher le carré des 20 premiers entiers ($1^2$, $2^2$, $3^2$, $\dots$, $20^2$). En python, le carré de 5 s'obtient par 5**2.

In [2]:
k = 1
while k <= 20 :
    print("Le carre de ", k , " est " , k**2)
    k = k+1
Le carre de  1  est  1
Le carre de  2  est  4
Le carre de  3  est  9
Le carre de  4  est  16
Le carre de  5  est  25
Le carre de  6  est  36
Le carre de  7  est  49
Le carre de  8  est  64
Le carre de  9  est  81
Le carre de  10  est  100
Le carre de  11  est  121
Le carre de  12  est  144
Le carre de  13  est  169
Le carre de  14  est  196
Le carre de  15  est  225
Le carre de  16  est  256
Le carre de  17  est  289
Le carre de  18  est  324
Le carre de  19  est  361
Le carre de  20  est  400

Des boucles et des statistiques

On étudie une population de personnes âgées de 5 à 18 ans. Dans les deux listes qui suivent, on donne les âges et les effectifs correspondants.

In [3]:
ages = [5,6,7,8,9,10,11,12,13,14,15,16,17,18]
effectifs = [12,20,15,16,30,7,25,1,45,15,13,10,22,4]

12 enfants ont 5 ans, 20 ont 6 ans, etc.

Quelques exemples pour comprendre l'utilisation des listes :

In [4]:
ages[2]
Out[4]:
7
In [5]:
effectifs[4]
Out[5]:
30
In [6]:
ages[0]
Out[6]:
5
In [7]:
ages[13]
Out[7]:
18
In [8]:
len(ages)    #longueur de la liste
Out[8]:
14

Exercices

Compléter le programme ci-dessous pour qu'il affiche en sortie l'effectif total.

In [9]:
i = 0
effectif_total = 0
while i < len(effectifs):
    effectif_total = effectif_total + effectifs[i]
    i = i+1
print("L'effectif total est ", effectif_total)
L'effectif total est  235

Ecrire un programme qui calcule l'âge moyen de la population.

In [10]:
i = 0
aux = 0   #variable auxiliaire pour stocker la somme des ages*effectifs
while i < len(effectifs):
    aux = aux + ages[i]*effectifs[i]
    i = i+1
moyenne = aux/effectif_total
print("L'age moyen est ", moyenne)
L'age moyen est  11.217021276595744

Ecrire un programme qui calcule l'écart-type de la série.

Rappel : l'écart-type est la racine carré de la moyenne des carrés des écarts à la moyenne.

In [11]:
from math import sqrt    #import de la fonction racine carre
i = 0
aux = 0
while i < len(effectifs):
    aux = aux + (ages[i] - moyenne)**2 *effectifs[i]
    i = i+1
ecart_type = sqrt(aux/effectif_total)
print("L'ecart-type est ", ecart_type)
L'ecart-type est  3.686624423214979

Ecrire un programme qui affiche le mode de la série (l'âge où l'effectif est le plus grand).

In [12]:
mode = ages[0]
effectif_mode = effectifs[0]
i = 1
while i < len(ages):
    if effectifs[i] > effectif_mode :
        effectif_mode = effectifs[i]
        mode = ages[i]
    i = i+1
print("Le mode est ", mode)    
Le mode est  13

Supplément : écrire un programme qui affiche la médiane de la population (l'âge A tel que la moitié de la population a un âge inférieur ou égal à A et la moitié a un âge supérieur ou égal à A).

In [ ]:
 
In [ ]: