Bonjour,

Je me retrouve ici afin que quelqu'un m'aide à trouver mon erreur, et ainsi m'expliquer. Je cherche à faire un programme qui consiste à déterminer le prix d'une lettre en fonction de la masse. Cependant, j'utilise des radiobuttons, et j'aimerais que les variables changent en fonction de ces radiobuttons. Voici le code :

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
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
##################################################
# Importation des modules :
 
from tkinter import*
 
##################################################
# Déclaration des fonctions :
 
def afficher_prix(event):
    global value
    Grammes = float(Entrée_grammes.get())
    Valeur = int(value.get())
    #############################################
    # Lettre Verte :
    if  Valeur == 1 :
        if Grammes >= 3000 :
            Erreur = Label(Fenêtre, text = "/!\ Taille trop grande!", fg = 'red')
            Erreur.grid(column = 0, row = 8)
        elif Grammes >= 500 :
            valeur_prix = 5.6
            Prix = Label(Fenêtre, text = "Prix totale : " + str(valeur_prix) + " euros", fg = 'red')
            Prix.grid(column = 0, row = 8)
        elif Grammes >= 250 :
            valeur_prix = 4.2
            Prix = Label(Fenêtre, text = "Prix totale : " + str(valeur_prix) + " euros", fg = 'red')
            Prix.grid(column = 0, row = 8)
        elif Grammes >= 100 :
            valeur_prix = 2.8
            Prix = Label(Fenêtre, text = "Prix totale : " + str(valeur_prix) + " euros", fg = 'red')
            Prix.grid(column = 0, row = 8)
        elif Grammes >= 20 :
            valeur_prix = 1.4
            Prix = Label(Fenêtre, text = "Prix totale : " + str(valeur_prix) + " euros", fg = 'red')
            Prix.grid(column = 0, row = 8)
        else :
            valeur_prix = 0.7
            Prix = Label(Fenêtre, text = "Prix totale : " + str(valeur_prix) + " euros", fg = 'red')
            Prix.grid(column = 0, row = 8)
    #############################################
    # Lettre Prioritaire :
 
    if Grammes >= 3000 :
        Erreur = Label(Fenêtre, text = "/!\ Taille trop grande!", fg = 'red')
        Erreur.grid(column = 0, row = 8)
    elif Grammes >= 500 :
        valeur_prix = 6.4
        Prix = Label(Fenêtre, text = "Prix totale : " + str(valeur_prix) + " euros", fg = 'red')
        Prix.grid(column = 0, row = 8)
    elif Grammes >= 250 :
        valeur_prix = 4.8
        Prix = Label(Fenêtre, text = "Prix totale : " + str(valeur_prix) + " euros", fg = 'red')
        Prix.grid(column = 0, row = 8)
    elif Grammes >= 100 :
        valeur_prix = 3.2
        Prix = Label(Fenêtre, text = "Prix totale : " + str(valeur_prix) + " euros", fg = 'red')
        Prix.grid(column = 0, row = 8)
    elif Grammes >= 20 :
        valeur_prix = 1.6
        Prix = Label(Fenêtre, text = "Prix totale : " + str(valeur_prix) + " euros", fg = 'red')
        Prix.grid(column = 0, row = 8)
    elif Grammes == 0 :
        valeur_prix = 0
        Prix = Label(Fenêtre, text = "Prix totale : " + str(valeur_prix) + " euros", fg = 'red')
        Prix.grid(column = 0, row = 8)
    else :
        valeur_prix = 0.8
        Prix = Label(Fenêtre, text = "Prix totale : " + str(valeur_prix) + " euros", fg = 'red')
        Prix.grid(column = 0, row = 8)
 
##################################################
# Déclaration de l'interface graphique :
 
Fenêtre = Tk()
Fenêtre.title("Pèse lettres")
 
##################################################
# Déclaration des variables :
 
Etat = IntVar()
value = IntVar()
 
##################################################
# Programme principal :
 
Check_LettreVerte = Radiobutton(Fenêtre, text = 'Lettre Verte',variable = value, value = 1)
Check_LettreVerte.grid(column = 1, row = 3)
 
Check_LettrePrioritaire = Radiobutton(Fenêtre, text = 'Lettre Prioritaire', variable = value, value = 2)
Check_LettrePrioritaire.grid(column = 2, row = 3)
 
Texte1 = Label(Fenêtre, text = "Poids de la lettre (en g) :")
Texte1.grid(column = 0, row = 5)
 
Entrée_grammes = Entry(Fenêtre, width = 8)
Entrée_grammes.grid(column = 1, row = 5)
Entrée_grammes.bind("<Return>", afficher_prix)
 
Bouton_quitter=Button(Fenêtre,text="Quitter", width = 10, height = 1,command=Fenêtre.destroy) #Créer un bouton "bouton_quitter" qui permettra de quitter la fenêtre
Bouton_quitter.grid(column = 9, row = 8)
 
Fenêtre.mainloop()
Mon codage n'est peut être pas assez compacte mais il devrait marcher

Cordialement, Valerio