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 :

arrondir un résultat sur tkinter


Sujet :

Python

  1. #1
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2019
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2019
    Messages : 11
    Par défaut arrondir un résultat sur tkinter
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    def conv_eur_francs(self,event):
            self.labelVariable.set( 'resultat = '+str (eval(self.entryVariable.get())* 6.55957))
    j'aimerais arrondir le résultat de ce code sachant que c'est dans une fenêtre tk.
    voici le code complet:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    import tkinter as tk
     
     
     
    class Application(tk.Tk):
        def __init__(self):
            tk.Tk.__init__(self)
            self.creer_widgets()
     
        def creer_widgets(self):
            self.grid()
            self.frame=tk.Frame(self, bg='#44D6B1')
            self.frame.grid(row=1,column=2,padx=100,pady=100)
            # Création du label
            self.label = tk.Label(self.frame, text ="Saisir le montant en euros:  ",bg='#44D6B1',font=("Helvetica", 20))
            self.label.grid(row=2, column=2, padx=3, pady=8)
            # Création du champ de saisie pour l'opération
            self.entryVariable = tk.StringVar()
            self.Entry = tk.Entry(self.frame,textvariable=self.entryVariable,
                                  bg = '#44D6B1', width="20",
                        highlightbackground = "blue", font=("Helvetica", 14),
                        highlightcolor= "green")
            self.Entry.grid(row=2, column=3, padx=3, pady=8)
            self.Entry.focus_set()
            self.Entry.bind("<Return>",self.conv_eur_francs)
            # Création d'un label qui affiche le résultat
            self.labelVariable = tk.StringVar()
            self.label = tk.Label(self.frame,textvariable=self.labelVariable,bg='#44D6B1',
                                  font=("Helvetica", 20))
            self.label.grid(row=4,column=2,columnspan=3, padx=3, pady=10)    
            self.label = tk.Label(self.frame, text ="F  ",bg='#44D6B1',font=("Helvetica", 20))
            self.label.grid(row=4, column=3, padx=3, pady=8) 
             ##----- Création des boutons -----##
            self.bouton = tk.Button(self.frame, text='Quitter', width='30'
                            ,bg='red',command=self.destroy)
            self.bouton.grid(row=5, column=2, padx=5, pady=20)
     
        def conv_eur_francs(self,event):
            self.labelVariable.set( 'resultat = '+str (eval(self.entryVariable.get())* 6.55957))
     
     
     
     
     
     
     
    if __name__ == "__main__":
        app = Application()
        app.title("Convertisseur Euros vers francs:)")
        app.geometry("800x400")
        app.iconbitmap("alain2.ico")
        app.config(background='#44D6B1')
        ##----- Programme principal -----##
        app.mainloop()# Boucle d'attente des événements

  2. #2
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 707
    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 707
    Par défaut
    Salut,

    Pour arrondir, il suffit d'appliquer la fonction "round" au nombre flottant obtenu mais comme c'est pour afficher un nombre flottant avec n décimales, .format (et autres) seraient sans doute plus appropriés (et ça n'a rien à voir avec tkinter...)

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  3. #3
    Invité
    Invité(e)
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    str (eval(self.entryVariable.get())
    Euh ??



    Rien à voir mais il serait judicieux de prendre en compte l'inflation.

  4. #4
    Membre Expert
    Avatar de MPython Alaplancha
    Homme Profil pro
    Paysan à 3 francs six sous
    Inscrit en
    Juin 2018
    Messages
    919
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Paysan à 3 francs six sous
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Juin 2018
    Messages : 919
    Billets dans le blog
    8
    Par défaut
    Bonjour,
    C'est vrai que cet eval() pique aux yeux. C'est une très mauvaise pratique.
    Et puis autant partir sur tk.IntVar() si on souhaite manipuler des entiers...

  5. #5
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 707
    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 707
    Par défaut
    Citation Envoyé par Hominidé Voir le message
    Et puis autant partir sur tk.IntVar() si on souhaite manipuler des entiers...
    Si on parle d'"arrondir", il s'agit plutôt de nombres décimaux...

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  6. #6
    Membre Expert
    Avatar de MPython Alaplancha
    Homme Profil pro
    Paysan à 3 francs six sous
    Inscrit en
    Juin 2018
    Messages
    919
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Paysan à 3 francs six sous
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Juin 2018
    Messages : 919
    Billets dans le blog
    8
    Par défaut
    Je me demande parfois si j'ai pas du gruyère en guise de cerveau...

  7. #7
    Invité
    Invité(e)
    Par défaut
    C'est très bon le gruyère !

    Du coup v = tk.DoubleVar() si qqu'un se demandait. ^^'

  8. #8
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2019
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2019
    Messages : 11
    Par défaut
    merci a vous tous pour ces réponses, en effet j'ai copier un bout de code pour faire ce code et je me suis planté pour eval.
    je vais prendre le temps de réfléchir a vos solutions encore merci.

Discussions similaires

  1. [Conception] formulaire et résultat sur la même page
    Par ph_anrys dans le forum PHP & Base de données
    Réponses: 10
    Dernier message: 13/07/2006, 16h47
  2. Afficher un résultat sur deux critères du même champ
    Par julien6660 dans le forum Access
    Réponses: 2
    Dernier message: 20/04/2006, 11h30
  3. [Order by] classer des résultats sur des nombres
    Par vampiloup dans le forum Requêtes
    Réponses: 2
    Dernier message: 13/01/2006, 14h58
  4. [Formulaires] Résultat sur autres frames
    Par -DeN- dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 29/08/2005, 11h33
  5. Arrondir le résultat d'une requête
    Par wautierp dans le forum Langage SQL
    Réponses: 2
    Dernier message: 07/06/2004, 11h56

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