La boucle for / else
Bonjour,
j'ai un résultat un peu différent quand j’exécute le code :
prenoms = ["Pierre", "Patrick", "Jean", "Marc"]
for prenom in prenoms:
if prenom == "Patrick":
print("Patrick a été trouvé !")
break
else:
print("Patrick est introuvable...")
Voici le résultat dans la vidéo :
voici le résultat que moi je trouve :
ce qui me fait pas bien comprendre cette partie du cours :
[Dans quel cas va-t-on passer dans le else ?
On passe dans le else si toute la boucle s'exécute c'est-à-dire si on passe à travers tous les éléments de la boucle et qu'on ne rencontre jamais une instruction break.]
Dans mon cas toute la boucle s'est pas encore exécutée, quand il trouve la valeur "Pierre" il passe par else et affiche un premier résultat → Patrick est introuvable...
et quand il rencontre ensuite "Patrick" il rentre dans le break et sort en affichant →Patrick a été trouvé !. Fin du script
Quand aussi j'enlève Patrick de la variable prenoms j'ai trois print de Patrick est introuvable...
prenoms = ["Pierre", "Patrick", "Jean", "Marc"]
for prenom in prenoms:
if prenom == "Patrick":
print("Patrick a été trouvé !")
break
else:
print("Patrick est introuvable...")
go_kouman@moise-luce:~$ /bin/python3 /home/go_kouman/are/informatiques/docstring/test.py
Patrick est introuvable...
Patrick est introuvable...
Patrick est introuvable...
Bonjour Moïse !
Le problème vient de ton indentation, tu as mis le else au niveau du if, ta structure est donc un "if / else" classique et non pas une boucle "for / else".
Le code du cours :
for prenom in prenoms:
if prenom == "Patrick":
print("Patrick a été trouvé !")
break
else: # Le else est au même niveau que le for
print("Patrick est introuvable...")
Ton code :
for prenom in prenoms:
if prenom == "Patrick":
print("Patrick a été trouvé !")
break
else: # Le else est au niveau du if
print("Patrick est introuvable...")
Inscris-toi
(c'est gratuit !)
Tu dois créer un compte pour participer aux discussions.
Créer un compte