À la fin de cette séquence vous serez capable de :
for
pour parcourir une séquence (string, tuple)for
pour répéter un morceau de programmerange()
pour créer une suite de nombresfor
Comme la boucle while
, la boucle for
permet de répéter un morceau de programme. Cependant, contrairement à while
, for
ne dépend pas d'une condition mais d'une suite ordonnée d'objets : le corps de la boucle for
est répété, dans l'ordre, pour chaque élément de la série.
for
mot = input("Écrire un mot : ")
print(f"\nVoici les différentes lettres de {mot}")
for lettre in mot:
print(lettre)
Analyse de la boucle for
:
Une séquence est une collection d'éléments ordonnés. Dans le cas d'un mot, les éléments sont des lettres.
La boucle for utilise une variable (lettre
) pour identifier chaque lettre de mot
puis, dans cet exemple, l'affiche. Ensuite, récupère la deuxième lettre puis l'affiche... jusqu'à épuisement des lettres de mot
.
print("Compter de 0 à 4 : ")
for i in range(0, 5):
print(i, end=" ")
La boucle for
génère les nombres entiers compris entre 0 et 5 exclu.
#équivalent à
print("Compter de 0 à 4 : ")
for i in range(5):
print(i, end=" ")
print("Compter de 2 à 9 : ")
for i in range(2, 10):
print(i, end=" ")
print("Compter de 0 à 15 par saut de 3 : ")
for i in range(0, 16, 3):
print(i, end=" ")
print("Compter à rebours de 8 à 3 : ")
for i in range(8, 2, -1):
print(i, end=" ")
Syntaxe
Elle fonctionne sur le modèle range(début, fin, [pas])
.
L'argument entre crochets est en option.
Attention ! L'entier fin est exclu de l'intervalle : [début ; fin[
.
range(fin) # de 0 à fin exclu
range(début, fin) # de début à fin exclu
range(début, fin, pas) # de début à fin exclu par saut de pas unités
for
#Répéter trois fois l'instruction print
for i in range(3):
print('Bravo !')
#Exercice
#Table de multiplication par 6
for i in range(1, 11):
print(f"{i} * 6 = {i * 6}")
for
ma_chaine
est une chaîne de caractères.
Algorithme du parcours séquentiel de la chaîne ma_chaine
ma_chaîne
puis la traiter (l'afficher, ici) ;Pseudo-code
lettre est une chaîne de caractères
Pour lettre dans ma_chaine, Faire :
Afficher lettre
Fin Pour
Traduction en langage Python
ma_chaine = "informatique"
for lettre in ma_chaine:
print(lettre)
Une variante du parcours utilisant les indices
Pseudo-code
i est un entier
Pour i compris entre 0 et \(n-1\) (\(n\) étant la taille de ma_chaine), Faire :
Afficher la lettre de ma_chaine d'indice i
Fin Pour
Traduction en langage Python
#Parcourir une chaîne par les index
print(f"\nVoici les différentes lettres et leur positions dans {ma_chaine}")
for i in range(len(ma_chaine)):
print(f"\nLa lettre {ma_chaine[i]} est à l'index {i} du mot {ma_chaine}")
break
et continue
L'instruction break est utile pour sortir immédiatement de la boucle.
L'instruction continue est utilisée pour abandonner le traitement du reste du corps de la boucle pour l'itération en cours et passer à la suivante, en restant dans la boucle.
nbre_essais = 5
for i in range(5):
user_input = int(input("Entrer un nombre : "))
if user_input == 7:
print('Vous avez gagné !')
break
else:
nbre_essais -= 1
print(f"Il vous reste {nbre_essais} chances.")
for entier in range(1_000):
# on ignore les nombres non multiples de 7
if entier % 7 != 0:
continue
print(f"On traite l'entier {entier}")
# on s'arrête si entier est supérieur à 30
if entier >= 30:
break
print("On est sorti de la boucle")
mot = input("Entrer une phrase. ")
index_carac = 0
for carac in mot:
print(f"{carac} se trouve au rang {index_carac}.")
index_carac += 1
if index_carac > 20:
print("Votre phrase est trop longue !")
break