Le "multiplier par" bug, AU SECOURS
Résolu
Utilisateur anonyme
-
Utilisateur anonyme -
Utilisateur anonyme -
Yo, j'ai un petit bug au niveau de mon code, je veux multiplier le résultat d'une Entry qui a été get() et le mettre dans un fichier mais au lieu de me multiplier, soit il ne fait rien, soit il écris 5 fois le même chiffre, voila le bout du code qui bug
Les gens vivent en s'appuyant sur leurs convictions et leurs connaissances et ils appellent ça la réalité.
from tkinter import *
import os
root = Tk()
root.geometry("750x550")
slcen = StringVar()
slc = Entry(root, textvariable=slcen)
slc.focus_set()
slc.pack(padx=0, pady = 20)
aml = slc.get()
aeu = aml*5
def geted():
notes = slc.get()
print(slc.get())
slc.delete(0, END)
cnt = open("Affiliedmarkshlprs.txt", "a")
cnt.write("\neleves : ")
cnt.write(notes)
cnt.write("/10")
cnt.write(" Pourcentage de réussite :")
cnt.write(aml*5)
cnt.close()
Les gens vivent en s'appuyant sur leurs convictions et leurs connaissances et ils appellent ça la réalité.
3 réponses
-
-
C'est normal. slc.get() te renvoie un string.
Quand tu multiplies un string il l'affiche autant de fois que nécessaire à la suite. Tu dois d'abord convertir ton string en valeur chiffrée avant de la multiplier :
"1"*5 = "11111"
1*5 = 5
Essaye d'utiliser la fonction int().
Si tu n'es pas sûr des types de tes variables tu peux sois print comme te le précise yg_be, ou utiliser la fonction type().
Exemple de code :from tkinter import * import os root = Tk() root.geometry("750x550") slcen = StringVar() slc = Entry(root, textvariable=slcen) slc.focus_set() slc.pack(padx=0, pady = 20) try: aml = int(slc.get()) except: # Entrée invalide, sors du code comme tu veux... aeu = aml*5 def geted(): notes = slc.get() print(slc.get()) slc.delete(0, END) cnt = open("Affiliedmarkshlprs.txt", "a") cnt.write("\neleves : ") cnt.write(notes) cnt.write("/10") cnt.write(" Pourcentage de réussite :") cnt.write(aml*5) cnt.close()
-
yg_be Messages postés 23437 Date d'inscription Statut Contributeur Dernière intervention Ambassadeur 1 588
bonjour, ne devrais-tu pas ajouter quelquesprint()
pour comprendre ce que fais ton code?