CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

[PYTHON]Tkinter et automatisation de la fonction .get()

[S]upra_[O]ne
[S]upra_[O]ne
Niveau 1
18 janvier 2015 à 11:41:52

Bonjour a tous, je suis un débutant en python. Il s'avère que je m'entraine a créer un programme qui calculerais un moyenne d'un série de nombres variable, jusque la, pas de probleme. Le probleme se situe dans la partie tkinter donc dans la partie interface graphique. Etant donné la variabilité de mon nombre de valeurs pour calculer ma moyenne, j'ai réussi à a créer un algoritme ou je demande le nombre valeurs puis je créé ma fenetre avec le nombre de cases exact:

nbValeur=int(input("Veuillez préciser le nombre de note a rentrer: ")) 
valeur=[0]*nbValeur#On initialise la liste valeur
entreListe=[0]*nbValeur
racine = Tk.Tk() #On créé la fenetre racine

for i in range(nbValeur): # On definit le nombre d'Entrée voulue
    entry = "entry" + str(i) #  concaténe le caractère "entry" avec i
    entreListe[i]=entry # On stocke dans la liste les noms 
    entry=Tk.Entry() # On créé les Entry dans notre fentetre
    entry.pack() # On affiche les Entry fans notre fenetre

jusqua la tout va bien, mais c'est une fois que je veut recupérer le texte inséré par l'utilisateur dans les champs que le souci arrive. Pour recapituler, j'ai automatisé la creation des entry, en incrementant le nom de leur varible a savoir entry0, entry1, entry2 etc. mais lorseque je veut les recuperer ( j'utilise alors ma liste dans laquelle j'ai stocké entry0, entry1, entry2 etc sauf que la il me met ce message d'errreur
AttributeError: 'str' object has no attribute 'get :(
Voila mon algorythme pour essayer de les recuperer:

for i in range(nbValeur):
        valeur[i]=entreListe[i].get() #On recupere les entrées dans notre liste valeur
        valeur[i]=float(valeur[i]) #On modifie ces entrées en nombre décimaux

Et voici mon programme si vous pensez en avoir besoin pour faire des test:
import tkinter as Tk # On importe le bibliothèque tkinter def moyenne(): # On créé la fonction moyenne qui servira pour caluculer et a afficher le resultat for i in range(nbValeur): valeur[i]=entreListe[i].get() #On recupere les entrées dans notre liste valeur valeur[i]=float(valeur[i]) #On modifie ces entrées en nombre décimaux print(valeur) total=0 # On definit la variable total resultat=0 # On definit la variable resultat for i in range(nbValeur): # On utilise la boucle for total=total+valeur[i] # On accumule toutes les valeurs de la liste valeur print(total) print(nbValeur) resultat=total/nbValeur # On calcule notre moyenne affichageresultat.config(text = 'resultat '+str(resultat)) # On configure nbValeur=int(input("Veuillez préciser le nombre de note a rentrer: ")) #On créé la la variable nbValeur, l'utilisateur rentre directement la valeur valeur=[0]*nbValeur#On initialise la liste valeur entreListe=[0]*nbValeur racine = Tk.Tk() #On créé la fenetre racine for i in range(nbValeur): # On definit le nombre d'Entrée voulue entry = "entry" + str(i) # On definit la variable entry en concaténant le caractère "entry" avec i(la fonction string modifie un nombre en caractère) entreListe[i]=entry # On stocke dans la liste les noms des variable qui vont s'incrementer entry=Tk.Entry() # On créé les Entry dans notre fentetre entry.pack() # On affiche les Entry fans notre fenetre print(entreListe) bouton = Tk.Button(text='Calculer', command=moyenne) bouton.pack() affichageresultat = Tk.Label() affichageresultat.pack() racine.mainloop()
en tout cas je suis vvraiment bloqué ! Merci d'avance !
Supra

Message édité le 18 janvier 2015 à 11:43:22 par [S]upra_[O]ne
Sous forums
  • Aide à l'achat Mac
  • Macintosh
  • Création de sites web
  • Création de Jeux
  • Linux
  • Programmation
  • Internet
  • Steam Deck
  • Hardware
La vidéo du moment