EXPLICATION LIGNE DE CODE
Résolu
Utilisateur anonyme
-
Utilisateur anonyme -
Utilisateur anonyme -
Bonjour, j'aurais aimé que l'on puisse m'expliquer les lignes de code suivantes LIGNE PAR LIGNE (c'est très important) Merci beaucoup ! c'est un projet pour le lycée... mais je ne suis pas très forte... merci de votre aide !!!
EDIT : Ajout des balises de code.
from tkinter import*
def calcul_caracteres(texte):
compteur=0
for i in range(len(texte)):
compteur+=1
return compteur+1
fenetre=Tk()
texte_entree=Label(fenetre,text="entrez un texte")
texte_entree.grid(row=0,column=0)
entree=Entry(fenetre,width=50)
entree.grid(row=5,column=0)
texte_compteur=StringVar()
texte_compteur.set("0")
label_compteur=Label(fenetre,textvariable=texte_compteur)
label_compteur.grid(row=10,column=5)
def change_texte(texte):
texte_compteur.set(str(calcul_caracteres(texte)))
bouton_compteur=Button(fenetre,text="calculer le nombre de caracteres",command=change_texte(entree.get()))
bouton_compteur.grid(row=5,column=5)
label_texte=Label(fenetre,text="Votre texte contient")
label_texte.grid(row=10,column=4)
label_texte2=Label(fenetre,text="caracteres")
label_texte2.grid(row=10,column=6)
fenetre.mainloop()
EDIT : Ajout des balises de code.
COMMENT UTILISER LES BALISES DE CODE
A voir également:
- EXPLICATION LIGNE DE CODE
- Code ascii - Guide
- Partage de photos en ligne - Guide
- Code puk bloqué - Guide
- Code de déverrouillage oublié - Guide
- Code activation windows 10 - Guide
3 réponses
Bonjour chlochlo,
Déjà, ce code ne fonctionne pas:
On ne peut pas passer d'arguments à une fonction callback d'un widget
il faut passer par une fonction lambda
Une fois que c'est corrigé, ça fonctionne:

Ceci dit ca affiche 7 caractère au lieu de 6, car on ajoute 1 au compteur:
Je ne sais pas pourquoi...
Déjà, ce code ne fonctionne pas:
bouton_compteur=Button(fenetre,text="calculer le nombre de caracteres",command=change_texte(entree.get()))
On ne peut pas passer d'arguments à une fonction callback d'un widget
il faut passer par une fonction lambda
Une fois que c'est corrigé, ça fonctionne:
Ceci dit ca affiche 7 caractère au lieu de 6, car on ajoute 1 au compteur:
return compteur+1
Je ne sais pas pourquoi...
Apres, sur l'aspect présentation, c'est bien de mettre d'abord les définitions de fonctions puis
le programme principal : création de la fenêtre et des widgets:
le programme principal : création de la fenêtre et des widgets:
# -*- coding:Latin-1 -*-
from tkinter import*
def calcul_caracteres(texte):
compteur=0
for i in range(len(texte)): compteur+=1
return compteur
def change_texte(texte):
texte_compteur.set(str(calcul_caracteres(texte)))
fenetre=Tk()
texte_entree=Label(fenetre,text="entrez un texte")
texte_entree.grid(row=0,column=0)
entree=Entry(fenetre,width=50)
entree.grid(row=5,column=0)
texte_compteur=StringVar()
texte_compteur.set("0")
label_compteur=Label(fenetre,textvariable=texte_compteur)
label_compteur.grid(row=10,column=5)
bouton_compteur=Button(fenetre,text="calculer le nombre de caracteres",command=lambda:change_texte(entree.get()))
bouton_compteur.grid(row=5,column=5)
label_texte=Label(fenetre,text="Votre texte contient")
label_texte.grid(row=10,column=4)
label_texte2=Label(fenetre,text="caracteres")
label_texte2.grid(row=10,column=6)
fenetre.mainloop()