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
- Iptv bug ✓ - Forum TV & Vidéo
- Signe multiplier clavier iphone ✓ - Forum Clavier
- Bug localisation snap ✓ - Forum Snapchat
- System memory multiplier - Forum Matériel & Système
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()