Boucle bornée for dans Python


En programmation, on appelle boucle « un système d’instructions qui permet de répéter un certain
nombre de fois (voire indéfiniment) toute une série d’opérations
».

Python propose une instruction particulière pour construire des boucles bornées, à condition de savoir le nombre d’itérations (répétitions) nécessaires : La boucle « for » permet de répéter plusieurs fois le même traitement. Par exemple, pour calculer la somme des $n$ termes d’une suite numérique.

Python propose une autre instruction particulière pour construire des boucles non bornées, c’est-à-dire dont on ne connaît pas le nombre nécessaire d’itérations. La boucle sert à le calculer. La boucle « while » dépend donc d’une condition Test. Le traitement est répété tant que la condition est vraie. Par exemple, pour déterminer à partir de quel rang $n$, la suite numérique $2^n$ dépasse une valeur $M$ donnée au départ.

Définition 1.
Le mot « for » signifie « Pour » en anglais. L’instruction « for » est suivie d’une liste finie de valeurs et d’un bloc d’instruction à répéter.
L’instruction « for » permet donc d’écrire des boucles, dans lesquelles l’itération traite successivement tous les éléments d’une séquence finie de valeurs données.
En général, Le résultat affiché est la dernière valeur obtenue ou la liste des valeurs d’une variable calculées à chaque itération.

Rappel

La fonction range()

$\bullet$ Avec range($n$), on parcourt les entiers de $0$ à $n-1$. Par exemple range(10) correspond à la liste de 10 entiers naturels commençant par $0$, c’est-à-dire la liste [0, 1, 2, 3, 4, 5, 6, 7, 8, 9].

$\bullet$ Avec range($a,b$), on parcourt les entiers de $a$ à $b-1$. Par exemple range(10, 20) correspond à la liste de tous les entiers naturels commençant par $10$ et finissant par $19=20-1$, c’est-à-dire la liste [10, 11, 12, 13, 14, 15, 16, 17, 18, 19].

$\bullet$ Avec range($a,b$, p), on parcourt les entiers entre $a$ à $b-1$ avec un pas= $p$. Par exemple range(10, 20, 2) correspond à la liste de tous les entiers naturels commençant par $10$ et finissant à $19=20-1$ avec un pas de $2$, c’est-à-dire la liste [10, 12, 14, 16, 18].

Exemples

Exercice n°1.
Soit $(u_n)$ la suite numérique définie par : $u_n=n$. Calculer la somme des nombres entiers inférieurs ou égaux à $100$.

Nous allons créer un accumulateur $S$ qui contient la somme des termes de la suite

S=0 $\qquad$ $\qquad$ $\qquad$ # S est un accumulateur
for k in range(101) $\qquad$ # k est une variable locale pour servir dans la boucle
$\qquad$ S=S+k $\qquad$
print(“S=”,S)

Pour N=100, on obtient :

>>> 5050

Exercice n°2.
1°) Soit $(u_n)$ la suite numérique définie par : $u_n=n^2$. Calculer la somme des carrés des nombres entiers inférieurs ou égaux à $100$.


S=0
for k in range(101)
$\qquad$ S=S+k**2
print(“S=”,S)

>>>
S= 338350


Exercice n°3.
Écrire un programme qui affiche le mot “Cléopâtre” avec les caractères séparés par une étoile.

Ici, la séquence “Cléopâtre” était une chaîne de caractères. C’est une suite de 9 caractères.

nom =”Cléopâtre” $\qquad$ $\qquad$ # Ici “nom” est une chaîne de caractère.
for car in nom: $\qquad$ $\qquad$ $\qquad$ # Ici, on s’arrête à la longueur de “nom”
$\qquad$ print(car + ‘ *’, end =’ ‘) $\qquad$ # le + permet de concaténer

concaténer, c’est juxtaposer les caractères, les étoiles et les espaces. On obtient :

>>>
C * l * é * o * p * â * t * r * e *