Nous allons voir ici une nouvelle façon d'écrire une boucle
A chaque étape, vous pourrez tester des codes et vous entraîner.
Cette application est en construction, il est probable que des problèmes surviennent.
print
et input
et la notion de variable : Cours 2 : Dialoguer avec la machineif
et else
: Cours 4 : Effectuer des testsfor
: Cours 3 : Répéterwhile
Reprenons notre exemple de mot de passe avec les nombres entiers :
Exemple :
proposition = int(input("Entrez le mot de passe : ")) if proposition == 1234: print("Vous pouvez entrer") else: print("Vous ne pouvez pas entrer")
Entrez le mot de passe : 5678 Vous ne pouvez pas entrer Entrez le mot de passe : 1234 Vous pouvez entrer
Si l'on souhaite laisser plusieurs chances à l'utilisateur, on pourrait répéter ces instructions à l'aide d'une boucle for
:
Exemple :
for i in range(3): proposition = int(input("Entrez le mot de passe : ")) if proposition == 1234: print("Vous pouvez entrer") else: print("Recommencez")
Entrez le mot de passe : 5432 Recommencez Entrez le mot de passe : 1234 Vous pouvez entrer Entrez le mot de passe : 5678 Recommencez
for
avant la fin mais nous allons voir une autre méthode...Une solution en vidéo : La boucle while
Le code de la vidéo :
proposition = int(input("Entrez le mot de passe : ")) while proposition != 1234: print("Recommencez") proposition = int(input("Entrez le mot de passe : ")) print("Vous pouvez entrer")
Entrez le mot de passe : 5432 Recommencez Entrez le mot de passe : 5678 Recommencez Entrez le mot de passe : 1234 Vous pouvez entrer
while
peut se traduire par "tant que ..."while a == b:
peut donc se lire "Tant que a est égal à b faire ..."for
, le contenu d'une boucle while
doit être indenté.while
signifie que la condition n'est plus remplie.Exercice :
Tester, corriger et compléter le jeu du nombre mystère suivant :
while
Comme pour une boucle for
, il est possible de créer un compteur et de l'incrémenter
Exemple :
i = 0 while i < 5: print(i) i = i + 1
0 1 2 3 4
i = 0
i = i + 1
for
semble plus simple ...Exercice :
Dans chaque cas, utiliser une boucle while
pour afficher :
while
permet de programmer des boucles infinies. Il faut donc être vigilant...
Voici deux exemples de boucles infinies. Si vous les exécutez sur votre machine, il faudra recharger la page.
Exemple en oubliant d'augmenter la variable utilisée pour le compteur :
i = 0 while i < 5: print(i)
0 0 0 0
La variable i
n'atteindra jamais la valeur 5 donc la condition sera toujours vraie.
Exemple avec une condition volontairement toujours vraie :
while True: print("coucou")
coucou coucou coucou
La condition de répétition est toujours vraie : True
.
On peut rencontrer cette boucle infinie dans la programmation d'objets connectés...
Nous allons travailler sur les variables et les conditions de sortie de boucle.
Exercice sur papier : Calcul mental !
Voici un code à lire :
u = 1 while u < 1000: print(u) u = u*2
u
que la machine va afficher.Exercice :
Le code suivant permet de relancer un dé tant que l'on obtient pas 6 :
import random de = 0 #Initialisation while de != 6: de = random.randint(1,6) print(de)
2 4 3 3 4 5 6