====== 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]]