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
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()
A voir également:
- Le "multiplier par" bug, AU SECOURS
- Bug chromecast - Guide
- Bug localisation snap ✓ - Forum Snapchat
- Signe multiplier clavier ✓ - Forum Windows
- Signe multiplier clavier iphone ✓ - Forum Clavier
- Iptv bug forum ✓ - Forum Box et Streaming vidéo
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 :
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
23541
Date d'inscription
Statut
Contributeur
Dernière intervention
Ambassadeur
1 584
bonjour, ne devrais-tu pas ajouter quelques
print()pour comprendre ce que fais ton code?