Partage
  • Partager sur Facebook
  • Partager sur Twitter

Tester la validité d’une entré clavier

    6 octobre 2010 à 19:20:03

    Bonjour, j’écrit un petit programme en python (je débute).
    En début d’exécution je demande à l’utilisateur d’entrer une valeur entière positive affin d’effectuer un certain nombre de calcul. Mon programme marche très bien, tout est parfait. Sauf que j’aimerai me pousser un peu au-delà et j’aimerai pouvoir gérer les cas où l’utilisateur fournit une valeur incorrect ; notamment le cas où il entre une lettre au lieu d’un nombre.
    En C++ je sais faire mais en Pyhton je ne vois pas comment !
    Par exemple, si je fais :

    Data=Int(raw_input(Entrer une valeur :))

    et l’utilisateur introduit un string, évidement, d’office j’obtient une erreur à l’exécution.
    Par contre si je fais :

    Data=raw_input(Entrer une valeur)

    le data est d’office un string, que je peut convertir en entier (et tester) seulement s’il est un nombre, mais pas s’il s’agit effectivement d’une lettre. Donc, résultat des courses, dans les deux cas mon programme s’interrompt.

    Ce que j’aimerai faire c’est une boucle qui s’exécute tant que l’utilisateur n’a pas introduit une valeur correct, à savoir un entier positif.
    Merci pour votre aide !
    (et pardon pour mes éventuelles fautes d’orthographes, je ne suis pas francophone).
    • Partager sur Facebook
    • Partager sur Twitter
    Anonyme
      6 octobre 2010 à 19:46:02

      while 1:
          try:
              Data=int(raw_input("Entrer une valeur :"))
              if Data<0: 
                  raise ValueError
              break
          except ValueError:
              print "Entree invalide"
      


      • Partager sur Facebook
      • Partager sur Twitter
        6 octobre 2010 à 20:29:36

        data = raw_input('Entrez une valeur :')
        while not data.isdigit():
            data = raw_input('Entrez une valeur correcte!')
        data = int(data)
        
        • Partager sur Facebook
        • Partager sur Twitter
          6 octobre 2010 à 21:03:06

          arf, mal lu ...
          • Partager sur Facebook
          • Partager sur Twitter

          Python c'est bon, mangez-en. 

            6 octobre 2010 à 23:00:36

            fred, en dehors d'être non PEP, ton code utilise un char d'assaut pour écraser une mouche.
            • Partager sur Facebook
            • Partager sur Twitter

            Tester la validité d’une entré clavier

            × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
            × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
            • Editeur
            • Markdown