Séquences 2/3

Cette formation aborde les bases de la programmation informatique.

Modérateurs : Équipe sillages.info, David ROCHE

Jules JAGOT
Messages : 1
Enregistré le : mer. 16 janv. 2019 12:34

Séquences 2/3

Messagepar Jules JAGOT » mer. 16 janv. 2019 12:40

Bonjour,

Je ne sais pas si le forum est toujours actif, mais je tente ma chance.

J'ai tenté l'exercice à faire vous-même n°3 de la séquence 3 en reprenant les préceptes de la séquence 2, c'est-à-dire en permettant au programme de fonctionner si l'utilisateur saisi autre chose qu'un nombre entre 1 et 12, mais également s'il ne saisit pas un nombre.
J'ai écrit le code comme ceci:

Code : Tout sélectionner

mois=['janvier','février','mars','avril','mai','juin','juillet','aout','septembre','octobre','novembre','décembre']
while True:
  try:
    a = int(raw_input("saisir un numéro de mois entre 1 et 12: "))
    if a>0 and a<13:
      print("Vous avez sélectionné le mois de: " + mois[a])
    else:
      print("le nombre saisi n'est pas compris entre 1 et 12: essaie encore")
    break
  except ValueError:
    print("Oops!  That was no valid number.  Try again...")


Le code marche excepté pour un cas: lorqu'n saisit un nombre en dehors du range (1 - 12) je n'arrive pas à relancer la boucle de saisie raw_input.
Pouvez-vous m'indiquer comment imbriquer correctement le contrôle while True pour autre chose que des nombres et le contrôle sur le range (1-12)
Merci d'avance

David ROCHE
Messages : 21
Enregistré le : ven. 9 juin 2017 10:00

Re: Séquences 2/3

Messagepar David ROCHE » mar. 29 janv. 2019 09:07

Bonjour,
Vous devez utiliser un while à la place du if :

Code : Tout sélectionner

 
while a<1 or a>12:
   print("le nombre saisi n'est pas compris entre 1 et 12: essaie encore")
   a = int(raw_input("saisir un numéro de mois entre 1 et 12: "))


cordialement


Retourner vers « Programmation en Python »

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 0 invité