Python

Tkinter
Exercices pour progresser

Attention ! Les erreurs de programmation avec les interfaces graphiques sont souvent nombreuses. Lorsqu'elles se produisent, il faut redémarrer le shell courant afin d'éviter «d'empiler les erreurs». Avec l'interface IEP de Pyzo, cela se fait en cliquant sur le bouton .

Mini-Projet : Un Pavé Tactile

L'objectif est de créer un pavé tactile comme il en existe dans les logiciels de gestion de comptes bancaires.

Dans ce projet, l'utilisateur saisit son code secret dans la fenêtre correspondante puis va le confirmer en cliquant sur le pavé tactile. L'apparition de points de couleur permet à l'utilisateur de se repérer dans le nombre de chiffres saisi. La validation permet de s'assurer que le code a été correctement saisi.

  1. Reproduire l'interface graphique ci-dessous. On pourra prendre les dimensions suivantes pour notre fenêtre : 280px x 400px.
  2. Ajouter les chiffres de manière aléatoire en tenant compte des 2 indications suivantes :

    Indication n°1 :


    Voici les lignes de programme permettant de mélanger aléatoirement la liste des 10 chiffres et de les répartir dans une liste mémoire « à 2 niveaux » :
                            
    chiffres=['0','1','2','3','4','5','6','7','8','9']
    #permet de mélanger la liste
    shuffle(chiffres)
    #stocke la liste en deux sous-listes puis l'affiche
    memoire=[chiffres[0:5],chiffres[5:10]]
                            
                        

    Indication n°2 :


    Voici la ligne de commande permettant d'afficher dans la grille du canevas le message 'Bonjour' au point de coordonnées (50,100) dans la police de caractères Arial, taille 20, couleur noire :
                            
                                grille.create_text(50,100,text='Bonjour', fill='Black',font='Arial 20')
                            
                        
  3. Le code saisi par l'utilisateur doit être comparé à celui qu'il saisit en cliquant.

    Étape 1

    Pour cela, vous devez mémoriser son code au fur et à mesure qu'il clique dessus. On rappellera les quelques lignes ci-dessous qui permettent d'ajouter des lettres à un mot :
                            
    mot=input('mot? ')
    lettre=input('lettre? ')
    mot=mot+lettre
    print(mot)
                            
                        

    Étape 2

    Modifier la fonction correspondant au bouton [Valider] pour tester si le code saisi correspond à celui qui a été cliqué. Vous afficherez le message correspondant.

    Étape 3

    Rajouter l'apparition des cercles de couleur au fur et à mesure des clics de la souris. On pourra ajouter une information supplémentaire si on a cliqué plus de 4 fois.