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 :

Problème de syntaxe sur la division non arrondie de deux variables


Sujet :

Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Juin 2009
    Messages
    134
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juin 2009
    Messages : 134
    Par défaut Problème de syntaxe sur la division non arrondie de deux variables
    Bonjour,

    j'ai un problème sûrement très simple à résoudre, mais je ne vois pas du tout comment alors je fais appel à vous.

    J'ai dans un script l'instruction :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    a = int(round(b*c./d))
    qui donne le message d'erreur "There's an error in your program: invalid syntax" en surlignant le signe "/", alors que le code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    a = int(round(3*4./5))
    similaire mais ne contenant pas de noms de variables ne pose aucun problème.

    D'où vient le problème et que faire pour y remédier ?

    Merci d'avance.

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    105
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 105
    Par défaut
    Salut,

    Je présume que tu n'es pas en version 3.x sinon tu n'éprouverais pas le besoin
    d'écrire le point décimal : 4./5...
    C'est d'ailleurs lui qui te met dedans :
    c./d ne marche pas, c. n'est pas la variable c, d'ailleurs :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    >>> c.=3.2
    SyntaxError: invalid syntax
    Solution, selon ta version, en tête de programme, tu écris :
    from __future__ import division
    qui "normalise" le comportement de la division comme en 3.x...
    Moyennant quoi :
    7/4 = 1.75 et 7//4 =1 .
    Donc tu écris b*c/d...

    Sinon :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    >>> b,c,d = 3,4.0,5
    >>> int(round(b*c/d))
    2
    >>>
    @+

  3. #3
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Juin 2009
    Messages
    134
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juin 2009
    Messages : 134
    Par défaut
    C'était bien ça, je suis en version 2.6.4.

    Ta soluce marche à merveille, merci.

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

Discussions similaires

  1. Problème de syntaxe sur mes fonctions
    Par kippix dans le forum Administration système
    Réponses: 2
    Dernier message: 06/04/2009, 20h15
  2. Réponses: 7
    Dernier message: 09/10/2008, 13h42
  3. Réponses: 7
    Dernier message: 24/06/2008, 16h31
  4. Problème de syntaxe sur UPDATE
    Par pgu64 dans le forum Langage SQL
    Réponses: 4
    Dernier message: 06/04/2008, 19h26
  5. [MySQL] problème de syntaxe sur la récupération des données
    Par soshin dans le forum PHP & Base de données
    Réponses: 28
    Dernier message: 23/11/2006, 12h34

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