TP11. Et ça continue, encore et encore...
Énoncé
Dans tous les langages de programmation impératifs, il est possible de s'arrêter en plein milieu d'une itération d'une boucle et de passer directement à la suivante, que ce soit dans une boucle for
ou while
.
L'opérateur à utiliser pour ça est continue
.
Vous devez maintenant reprendre le jeu du juste prix vu précédemment et ajouter le comportement ci-dessous à votre programme, uniquement à l'aide de 4 lignes de codes supplémentaires au début de la boucle. C'est à dire sans changer aucune ligne du code de correction du juste prix disponible ici
Nouveau comportement : si l'utilisateur propose un prix négatif, ne lui indiquez pas où il se situe mais répondez lui "Comment ? Vous me pensez assez tordu pour avoir choisi un prix négatif ???".
Indice
Cliquez ici pour révéler un indice.
Il faut utiliser continue
^^
Difficulté
Correction
Cliquez ici pour révéler la correction de l'exercice.
Corrigé du fichier je_lache_l_affaire.py
#!/usr/bin/env python3
"""Un exemple d'utilisation d'une boucle while avec continue"""
def demande_prix():
"""Demande à l'utilisateur un prix"""
print("Quel est votre proposition ?")
return int(input())
prix_propose = demande_prix()
# Tant que (== while en anglais, ça tombe bien)
# l'utilisateur n'a pas trouvé le juste prix
while prix_propose != 42:
# Traitement spécial si le prix proposé est négatif
if prix_propose < 0:
print("Comment ? Vous me pensez assez tordu pour avoir choisi un prix négatif ???")
prix_propose = demande_prix()
continue
# On lui indique de quel côté il
# se situe
if prix_propose > 42:
print("c'est moins !")
else:
print("c'est plus !")
# On lui demande de faire une
# nouvelle proposition
prix_propose = demande_prix()
# Quand on arrive ici, l'utilisateur
# a trouvé
print("c'est trouvé !")