Partage
  • Partager sur Facebook
  • Partager sur Twitter

Débutant! Définir classe unique programme?

Sujet résolu
    25 décembre 2014 à 17:36:04

    Bonjour à tous!

    Voilà, je suis débutant et je voulais écrire un programme basic pour calculer des vecteurs. Mon problème est le suivant:

    -Je ne sais pas comment définir une unique classe d'entrée, par exemple lorsque j'entre des données, qui ne sont pas des entiers, et que je me goure mon programme plante.

    Du coup j'ai essayé de contourner avec des

    if type(entrée)==tuple:    #car ce ne doit pas être un tuple, str,... (Que des entiers)

        print("Vous vous êtes trompé!")

        break

    ainsi de suite....

    Mais plus j'avance et plus le problème est fréquent.

    Merci de m'aider et bonnes fêtes!

    • Partager sur Facebook
    • Partager sur Twitter
    Let's do it!
      25 décembre 2014 à 19:23:21

      Bonjour,

      Tu devrais essayer avec ça les exceptions (lien du cours openclassroom : http://openclassrooms.com/courses/apprenez-a-programmer-en-python/les-exceptions-4 )

      Cette structure te sera utiles pour la suite. Si tu es débutant c'est quelques choses à ne pas zapper.

      try:
          #ma condition a tester
      except:
          #gestion de tes erreurs ici
      else:
          #code a effectuer si la condition est remplie.


      Tu as même un bout de code qui correspond a ton besoin (extrait du cours mis en ligne au dessus):

      annee = input()
      try: # On essaye de convertir l'année en entier
          annee = int(annee)
      except:
          print("Erreur lors de la conversion de l'année.")



      -
      Edité par ClementGrimaud 25 décembre 2014 à 19:24:57

      • Partager sur Facebook
      • Partager sur Twitter
      Anonyme
        25 décembre 2014 à 21:48:01

        if type(entrée)==tuple:

        Et comment ferait-il pour entrer un tuple ou une liste, je voudrais bien que tu m'en donnes un exemple ?

        • Partager sur Facebook
        • Partager sur Twitter
          25 décembre 2014 à 23:40:37

          Tu n'as pas besoin de tester si l'utilisateur à rentrer un tuple ou un str, tu veux juste savoir s'il a entrer un entier.

          donc :

          entree=input()
          
          try:
              entree=int(entree)
          except ValueError:
              print("erreur saisie")
          else:
              #le code a exécuter car il s'agit forcément d'un entier !

          Voila, ça devrait marcher

          • Partager sur Facebook
          • Partager sur Twitter
            28 décembre 2014 à 17:14:45

            Merci les gars super!

            Je m'attendais pas à une réponse aussi rapide!

            Vraiment, Merci je viens de voir que l'on m'avait répondu j'essaye tout de suite!

            • Partager sur Facebook
            • Partager sur Twitter
            Let's do it!
              28 décembre 2014 à 20:39:55

              Il fonctionne maintenant! Merci Clement Grimaud!

              Ainsi que oldProgrammer!

              Bonnes Fêtes!

              • Partager sur Facebook
              • Partager sur Twitter
              Let's do it!

              Débutant! Définir classe unique programme?

              × 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