Le principe est de répéter la boucle TantQue une condition est vraie.
On parle de boucle non bornée puisque le nombre de fois que la boucle doit se répéter n'est pas connu à l'avance.
Exemple
rep=""
while rep=="":
rep=input("Quel est ton nom ?")
print("Bonjour "+rep)
La boucle va se répéter tant que rep est vide, ce qui permet de reposer la question tant que l'utlisateur n'a pas saisi au moins un caractère.
Les boucles Pour
Lorsque qu'on connaît le nombre de fois qu'une boucle doit se répéter, il est préférable d'utiliser la boucle Pour i de vi à vf par pas de pas.
On parle de boucle bornée puisque le nombre de fois que la boucle doit se répéter est connu à l'avance.
Exemple 1
somme=0
for j in range(7):
somme=somme+1
Voici les valeurs de j et somme à chaque fois :
j | somme | |
1ère fois | 0 | 1 |
2ème fois | 1 | 2 |
3ème fois | 2 | 3 |
4ème fois | 3 | 4 |
5ème fois | 4 | 5 |
6ème fois | 5 | 6 |
7ème fois | 6 | 7 |
Exemple 2
somme=0
for j in range(2,8,2):
somme=somme+1
Voici les valeurs de j et somme à chaque fois :
j | somme | |
1ère fois | 2 | 1 |
2ème fois | 4 | 2 |
3ème fois |
6
|
3
|
Réaliser une boucle For... in range(...) afin d'obtenir la suite de nombre suivante sur une seule ligne :
12 - 10 - 8 - 6 - 4 - 2 - 0 -
Exercice 2- en lien avec la spécialité mathématiques
Soit les équations suivantes :
Ecrire un programme en Python qui calcule les triplets ( x; f (x); g (x) ) pour x entier naturel entre 0 et 10.
Il faut afficher un triplet par ligne.
Expliquer pourquoi les f et g ne donnent pas les mêmes résultats.
Exercice 3a - Convertir une boucle while en boucle For... in range(...)
Tester le programme suivant :
from turtle import *
reset()
a=0
while a<12:
a+=1
forward(150)
left(150)
done()
Modifier le programme pour obtenir le même résultat avec une boucle for... in range(...)
Exercice 3b
Modifier le programme afin d'obtenir la forme suivante :
Voici quelques fonctions de base de Turtle :
Exercice 3c : créer 2 boucles imbriquées
Modifier le programme précédent pour obtenir le schéma suivant :
Les boucles PourChaque
En notation algorithmique on utilisera PourChaque élément dans séquence.
- les chaînes de caractères,
- les listes ou tableau,
- les tuples,
- les dictionnaires.
Exercice avec les chaînes de caractères
Tester le code suivant :
chaine="Bonjour tout le monde"
nb=0
for lettre in chaine:
if lettre.lower() in "aeiouy":
nb=nb+1
print(f"Nombre de voyelles = {nb}")
Modifier le script afin de compter le nombre de fois que la lettre contenue dans la variable lettreATrouver est présent dans chaine.
Exercices
- Site Cercle Informatique
Exemple de boucle avec un tableau
tab1 = [2,5,9,11,16]
for nb in tab1:
print(nb)
Pour les exercices, aller sur l'activité sur les tableaux.