Table des matières
Python : les boucles
Présentation
Les boucles permettent de répéter des instructions autant de fois que nécessaire. Voici deux manières d'écrire des boucles :
- l'instruction for quand on sait combien de fois la boucle doit être exécutée en utilisant une séquence de valeurs,
- l'instruction while pour une boucle qui doit être exécutée tant qu'une condition est vrai.
La boucle For
La bouche for se présente ainsi :
for element in sequence: print(element)
- element est une variable,
- element prend successivement chacune des valeurs figurant dans la séquence parcourue.
Exemple : for avec range
for i in range(00,10): print(i)
- La séquence range(0,10) contient les valeurs de 0 à 9,
- La dernière valeur 10 n'est pas incluse,
- la variable i prend successivement les valeurs de 0 à 9. Voici le résultat affiché : <code python> 0 1 2 3 4 5 6 7 8 9 </code>
Autre exemple :
chaine = "ICN" for lettre in chaine: print(lettre)
- La séquence chaine va permettre de parcourir les lettres de la variable chaine qui contient 3 caractères,
- La variable lettre prend successivement chacune des lettres de la variable chaine.
Voici le résultat affiché :
I C N
La boucle While
La bouche while permet de répéter un bloc d'instructions tant qu'une condition est vraie (while signifie tant que en anglais). La bouche while se présente ainsi :
while condition: #instruction
- condition doit renvoyer vrai ou faux. Tant que la condition est vrai, la boucle est exécutée. Exemple : <code python> choix = str() # ou bien choix = “” while choix not in “01234456789”: choix = input(“Saisissez un chiffre [0-9] : ”) choix = int(choix) </code>
- l'opérateur in permet de savoir si le caractère saisi et enregistré dans la variable choix est contenu dans la chaîne de caractères “01234456789”,
- tant que le caractère saisi n'est pas chiffre entre 0 et 9, le programme boucle sur la saisie d'un nouveau caractère.
- si le caractère saisi est un chiffre, la boucle s'arrête et le caractère est converti en un entier.
Lien vers les opérateurs utilisables en Python : https://fr.wikibooks.org/wiki/Programmation_Python/Op%C3%A9rateur
Exercice
Voici le programme python qui demande à l'utilisateur de deviner un nombre choisi au hasard entre 0 et 10 :
- boucle01.py
from random import * nombresecret = randint(0,11) proposition = int(input("Donnez votre réponse :")) if proposition == nombresecret: print("Bravo vous avez trouvé le nombre secret !") else: print("Désolé, ce n'et pas la bonne réponse.")
Ce programme ne permet de faire qu'un seul essai. Modifie-le pour permettre au joueur d'essayer plusieurs fois tant qu'il n'a pas trouvé la bonne réponse.