IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Python Discussion :

resultat de programme donné en Float alors que j'ai demandé un Integer. pourquoi?


Sujet :

Python

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    employé restaurant
    Inscrit en
    Août 2015
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : employé restaurant

    Informations forums :
    Inscription : Août 2015
    Messages : 2
    Points : 0
    Points
    0
    Par défaut resultat de programme donné en Float alors que j'ai demandé un Integer. pourquoi?
    bonjour,
    j'ai un petit souci que j'essaie de resoudre depuis deux heures, en vain:
    voici mon programme:c'est un programme de 2 lignes qui est censé transformer l'age que qqn me donne en "integer":

    tonAge = int (raw_input ("donne moi ton age"))
    print tonAge

    voici ma question:
    lorsque l'age entré est 26 ans , le programme donne bien un age de 26 ans en integer.
    Mais lorsque l'age entré est de 26.5 (un float) , le programme donne 26.5 . Alors que dans mon programme , j'ai demandé a l'ordinateur de me transformer l'age fourni en integer. 26.5 n'est pas un Integer.
    svp expliquez moi. merci beaucoup

  2. #2
    Expert éminent

    Homme Profil pro
    Inscrit en
    Octobre 2008
    Messages
    4 301
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2008
    Messages : 4 301
    Points : 6 781
    Points
    6 781
    Par défaut
    Salut,

    Il est étrange que tu n'aie pas d'erreur.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    Python 2.7.3 (default, Jun 22 2015, 19:43:34) 
    [GCC 4.6.3] on linux2
    Type "help", "copyright", "credits" or "license" for more information.
    >>> x = int(raw_input("Age ? "))
    Age ? 15.5
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
    ValueError: invalid literal for int() with base 10: '15.5'
    Pareil avec Python 3

  3. #3
    Expert éminent
    Avatar de tyrtamos
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2007
    Messages
    4 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2007
    Messages : 4 474
    Points : 9 277
    Points
    9 277
    Billets dans le blog
    6
    Par défaut
    Bonjour,

    Oui, tu devrais avoir une erreur!

    Et c'est bien expliqué dans la doc: l'argument de int peut être un int, un long ou un float, mais si c'est une chaine, elle doit représenter un entier.

    => https://docs.python.org/2/library/fu...hlight=int#int

    C'est pareil avec Python 3

    Solution possible:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    tonAge = int (raw_input ("donne moi ton age").split(".")[0])
    print tonAge

  4. #4
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 287
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 287
    Points : 36 781
    Points
    36 781
    Par défaut
    Salut,

    C'est que votre programme est plutôt:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    tonAge = raw_input ("donne moi ton age")
    print tonAge
    ou que vous n'utilisez pas le langage Python.

    - W

  5. #5
    Nouveau Candidat au Club
    Homme Profil pro
    employé restaurant
    Inscrit en
    Août 2015
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : employé restaurant

    Informations forums :
    Inscription : Août 2015
    Messages : 2
    Points : 0
    Points
    0
    Par défaut
    merci beaucoup pour vos reponses

Discussions similaires

  1. [XL-2003] Bouton inactif alors que le programme marche
    Par Loki83 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 12/04/2010, 09h49
  2. Réponses: 4
    Dernier message: 22/07/2009, 15h55
  3. Erreur 3021 alors que données
    Par rozidb dans le forum VBA Access
    Réponses: 9
    Dernier message: 22/06/2009, 11h32
  4. Réponses: 1
    Dernier message: 13/01/2008, 21h02
  5. Réponses: 4
    Dernier message: 13/08/2005, 10h20

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo