Les boucles

Les boucles permettent de faire repeter une opération.

Tant que :

While  :

Le principe de la boucle while, c’est d’exécuter un bloc d’instructions tant que (while in english) une condition donnée est vraie. Encore une fois commençons par un exemple :

>>> i = 1
>>> while i <= 5:
...     print(i)
...     i = i + 1
...
1
2
3
4
5

Ici tant que (while) la condition i<=5 est vraie, le bloc d’instructions (il y en a deux dans notre cas) est executé.

Attention

La deuxième instruction i = i + 1 est primordiale car elle assure que l’on va sortir de la boucle. En effet, ce qu’il faut éviter avec les boucles tant_que, c’est de construire une boucle sans fin. C’est ce qui peut se produire si la condition du while n’est jamais vérifiée.

Pour savoir combien de fois la boucle while est executée, il peut être utile d’utiliser une variable qui servira de compteur, c’est-à-dire une variable (qu’il ne faut pas oublier d’initialiser) et incrémentée de 1 dans le bloc d’instructions.

Pour

Une boucle for définit une variable qui prend successivement toutes les valeurs de la séquence (liste ou tuple) parcourue (ligne 1).

for in :

La fonction range produit une liste de tous les entiers entre une borne inférieure et une borne supérieure. Cette construction est utile lorsqu’une boucle for repose sur l’utilisation d’une séquence d’entiers. La fonction range est utilisable de trois manières :

  • un seul paramètre spécifiant le nombre d’éléments (ligne 1), –deux paramètres spécifiant la borne inférieure (inclue) et supérieure (exclue) (ligne 3),
  • trois paramètres spécifiant les bornes et le saut (incrément entre deux éléments de la séquence) (ligne 5)
  • Admettons que l’on veuille afficher 5 fois le mot blabla. Voici ce que l’on peut faire.

    >>> for i in range(5):  # pour i allant de 0 à 4
    ...     print("blabla")
    

    Ex : a) afficher les carrés des entiers de 1 à 7 ?

    b) somme des premiers entiers jusqu'à 30.


    Android

    De la programmation pour pc à la programmation pour téléphone....

    A finir

    Pas eu le temps de tout faire.....