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 :

Gestion d'unités et conversion [Python 3.X]


Sujet :

Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé

    Profil pro
    Inscrit en
    Janvier 2020
    Messages
    0
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2020
    Messages : 0
    Par défaut Gestion d'unités et conversion
    Bonjour à toutes et à tous,

    J'aimerai recueillir vos avis concernant la gestion des unités en Python.
    Je travaille actuellement sur un programme qui permet à un utilisateur de rentrer une valeur de débit et de choisir son unité (l/min, l/s, m3/h... ).
    Ce débit pourra ensuite être converti dans une autre unité.

    Je voulais éviter de faire une boucle if (un peu lourd à mon goût avec 6 unités possibles en entrée et en sortie).

    Lors de mes recherches jai découvert les modules Quantities et Units de sympy.physics.
    Je voulais savoir si vous aviez déjà utilisé un de ces modules et lequel me recommanderiez vous ?

    L'objectif final étant de récupérer la valeur des combobox de l'interface graphique contenant les unités, puis de les convertir en les comparant l'une à l'autre.
    J'ai vu que le module units contenait une méthode convert to mais je ne suis pas sure qu'elle soit adaptable à mon cas.


    Merci d'avance pour vos avis

  2. #2
    Membre Expert

    Homme Profil pro
    Ingénieur calcul scientifique
    Inscrit en
    Mars 2013
    Messages
    1 229
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur calcul scientifique

    Informations forums :
    Inscription : Mars 2013
    Messages : 1 229
    Par défaut
    Salut

    J'ai fais une petite recherche internet et je suis tombé sur le package Pint qui semble faire ce que tu veux :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    import pint
     
    ureg = pint.UnitRegistry()
    a = 3 * ureg.liter / ( 4 * ureg.second )
     
    print(a)
     
    print( a.to(ureg.meter**3 / ureg.hour ) )
    ce qui affiche en console :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    0.75 liter / second
    2.7 meter ** 3 / hour

  3. #3
    Membre confirmé

    Profil pro
    Inscrit en
    Janvier 2020
    Messages
    0
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2020
    Messages : 0
    Par défaut
    Bonjour,

    Merci beaucoup c'est exactement ce dont j'avais besoin !

    Bonne journée

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

Discussions similaires

  1. [MySQL] gestion des commentaires et conversations privées
    Par Toufik83 dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 03/02/2015, 13h40
  2. [Data] Gestion des unités de persistance multiple
    Par Khaled.Noordin dans le forum Spring
    Réponses: 1
    Dernier message: 14/09/2012, 13h47
  3. Gestion d'unités avancée
    Par clickandgo dans le forum VBA Access
    Réponses: 3
    Dernier message: 29/01/2011, 15h06
  4. Réponses: 7
    Dernier message: 30/09/2010, 17h01
  5. Gestion des erreurs de conversion de type de données
    Par FMJ dans le forum Développement
    Réponses: 11
    Dernier message: 09/07/2009, 23h27

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