Bonjour,
j'ai voulu utiliser le `continue` pour faire une boucle sur input.
Avec une surprise sur ma ligne for...
Le code
```python
# essai de boucle sur input avec le continue
for reponse in input("Entrez un premier nombre :"):
print(reponse)
if not reponse.isdigit(): # True... continue
continue
reponse = int(reponse)
print(type(reponse))
else:
print("Marche pas !")
```
Cela ne fonctionne pas.
Certainement parce que la boucle n'a qu'une seule itération, celle de l'input.
Je pensais que je ne ne sortirai pas de la boucle for tant que l'on avait pas un digit :).
J'ai essayé de mettre l'input dans une boucle while
Ça marche mais comment récupérer la valeur :)
```python
# essai de boucle sur input sur un while
while not input("Entrez un premier nombre :").isdigit():
pass
print("Cela marche ! Mais comment récupérer la valeur !!!")
```
Merci d'avance du retour, José
Contrôler une boucle avec continue et break
Dans cette partie, on va voir deux instructions qui nous permettent d'altérer le déroulement d'une boucle : l'instruction continue et l'instruction break.
Quand une boucle for ou une boucle while rencontre l'instruction continue, elle va passer directement à la prochaine itération, sans exécuter le reste du code qui se trouve après.
Dans cet exemple, on vérifie à l'intérieur de notre boucle, avec la méthode isdigit, si la chaîne de caractères élément contient un nombre. Si c'est le cas, on utilise l'instruction continue et on ne print pas l'élément puisque Python va passer directement à la prochaine itération.
Dans le cas de "Paul" et de "Pierre", isdigit va nous retourner False. Donc Pyton ne passera pas sur l'instruction continue et affichera donc "Paul" et "Pierre" à l'écran, avec la fonction print.
Donc le résultat de ce code sera uniquement "Paul" et "Pierre". On sera quand même passé à travers l'entièreté de notre structure de données, puisque continue n'arrête pas l'exécution de la boucle, elle fait juste passer à l'itération suivante.
Dans cet exemple, le premier élément de la liste contient bien un nombre. Donc dès la première itération, Python va rencontrer l'instruction break et va sortir de la boucle.
Le script n'affichera donc rien puisque la boucle n'aura même pas eu l'occasion de se rendre jusqu'aux éléments "Paul" et "Pierre".
Donc dans ce cas-ci, par rapport à continue, on arrête dès la première itération et on ne passe même pas sur l'entièreté de notre structure de données.