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 :

Probleme produit int*float


Sujet :

Python

  1. #1
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2014
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Janvier 2014
    Messages : 3
    Points : 3
    Points
    3
    Par défaut Probleme produit int*float
    Bonsoir,
    Etant encore débutant en python et nouveau sur le forum.. Je me permet de poser une petite question concernant un bout de code que ne n'arrive pas à exécuter en vain..
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    OV=int=input("Veuillez entrer le nombre de pieces de 0.50 : ")
    ttOV=float
    ttOV=0.50*OV
    print(" Somme en pieces de 0.50 : ", ttOV, " € ")
    Cela va vous paraître super simple j'imagine mais pour moi non..
    Lor de l'execution, j'obtient ce message d'erreur :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    >>> 
    Veuillez entrer le nombre de pieces de 0.50 : 52
    Traceback (most recent call last):
      File "C:/Users/DovahJun/Desktop/testlol.py", line 3, in <module>
        ttOV=0.50*OV
    TypeError: can't multiply sequence by non-int of type 'float'
    Auriez-vous une idée d'ou cela pourrait venir ?

  2. #2
    Expert éminent

    Avatar de deusyss
    Homme Profil pro
    Expert Python
    Inscrit en
    Mars 2010
    Messages
    1 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Expert Python
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2010
    Messages : 1 659
    Points : 8 442
    Points
    8 442
    Par défaut
    Bonjour.

    Tu n'as pas encore compris comment fonctionne Python. Il fait du typage dynamique. De plus les variables doivent obligatoirement commencer par une lettre.

    Utilises-tu python 2.X ou 3.X?

    Dans le premier cas, il faut faire un "from __future__ import division" pour éviter tout probleme de calcul. Ce bug a été corrigé dans la branche 3. De même pour la branche 2, utilise plutot le raw_input que le input. Cela te garanti de récupérer une chaine de caractère.

    A ta place donc, je ferai:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    t0v = int(raw_input("entrer un nombre:"))
    tt0v = float(0.5 * t0v) #force la creation de la variable tt0v en float
    print tt0v
    "La connaissance appartient à tout le monde" (Film Antitrust)

    Tout le nécessaire pour Python:
    *News/Accueil *Cours/tutoriels *FAQ
    *Forums *Outils dédiés *Mon espace personnel avec mes Articles, Cours et Tutoriels

  3. #3
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2014
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Janvier 2014
    Messages : 3
    Points : 3
    Points
    3
    Par défaut
    Merci de cette réponse rapide..
    Alors, j'utilise Python 3.3.3 , ce qui explique je pense pourquoi le code en réponse ne fonctionnait pas. :/

    J'ai donc un peu adapter en circonstance et ca marche + j'ai compris mon erreur.
    Encore merci .

    [EDIT] = Sur une page vierge je teste, tout fonctionne...
    Je rentre le calcul dans mon programme... ca ne marche plus..
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    File "C:\Users\DovahJun\Desktop\Compte.py", line 62, in <module>
        OV = int(input("Veuillez entrer le nombre de pieces de 0.50 : "))
    TypeError: 'str' object is not callable
     
    Et le code était : 
    OV = int(input("Veuillez entrer le nombre de pieces de 0.50 : "))
    ttOV = float ( 0.50 * OV )
    print(" Somme en pieces de 0.50 : ", ttOV, " € ")
    Dans OV, O est un o majuscule.

  4. #4
    Expert éminent

    Avatar de deusyss
    Homme Profil pro
    Expert Python
    Inscrit en
    Mars 2010
    Messages
    1 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Expert Python
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2010
    Messages : 1 659
    Points : 8 442
    Points
    8 442
    Par défaut
    Salut,

    Au risque de me repeter, fait toujours commencer le nom de tes variables par une lettre. Rien de grave, mais cela fait parti des regles de bases.

    Sinon, l'erreur que tu obtient est typique de input avec la branche 2. Quand tu lance ton code appeles tu bien python3 et non python?

    Sinon essaie de decomposer tes actions. Une à la fois et par ligne. Ainsi le debugger pointera sur la ligne posant vraiment probleme
    "La connaissance appartient à tout le monde" (Film Antitrust)

    Tout le nécessaire pour Python:
    *News/Accueil *Cours/tutoriels *FAQ
    *Forums *Outils dédiés *Mon espace personnel avec mes Articles, Cours et Tutoriels

  5. #5
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2014
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Janvier 2014
    Messages : 3
    Points : 3
    Points
    3
    Par défaut
    Problème résolu , j'ai changé l'int par un float.
    Merci

  6. #6
    Expert éminent

    Avatar de deusyss
    Homme Profil pro
    Expert Python
    Inscrit en
    Mars 2010
    Messages
    1 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Expert Python
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2010
    Messages : 1 659
    Points : 8 442
    Points
    8 442
    Par défaut
    De rien, ce forum est là pour ça. Bonne soirée à toi
    "La connaissance appartient à tout le monde" (Film Antitrust)

    Tout le nécessaire pour Python:
    *News/Accueil *Cours/tutoriels *FAQ
    *Forums *Outils dédiés *Mon espace personnel avec mes Articles, Cours et Tutoriels

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. type d'un char* ? int, float .... ?
    Par stitch dans le forum C
    Réponses: 5
    Dernier message: 08/03/2006, 16h27
  2. probleme de conversion float en int
    Par murreya dans le forum C++
    Réponses: 2
    Dernier message: 17/12/2005, 15h27
  3. Probleme avec un float sous FF
    Par Death83 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 28/11/2005, 18h15
  4. Probleme <div> et float -> comme un tableau!
    Par elraton dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 19/08/2005, 19h49
  5. [JSP]probleme d'insertion float dans une table
    Par karamazov994 dans le forum Servlets/JSP
    Réponses: 2
    Dernier message: 14/04/2005, 11h49

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