====== 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é : 0 1 2 3 4 5 6 7 8 9 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 : choix = str() # ou bien choix = "" while choix not in "01234456789": choix = input("Saisissez un chiffre [0-9] : ") choix = int(choix) * 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 : 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. ==== Retour au cours : Les instructions du langage Python ==== * [[.:c_langage_python|Cours : Les instructions du langage Python]]