Dans le dossier tkinter créez un dossier tkinter4. Il contiendra tous les fichiers de cette leçon.
Le module time de Python propose trois formats pour représenter le temps
L'heure POSIX est une mesure du temps qui représente le nombre de secondes écoulées depuis le 1er janvier 1970 à 00 : 00 : 00 UTC.
Fonction | Action |
time() | Retourne l'heure POSIX actuelle |
sleep(t) | Fait une pause de t secondes |
Testez, en console, la ligne de code ci-dessous :
On souhaite réaliser un compte à rebours à partie de 5 secondes.
Testez puis modifiez le code ci-dessous
Une structure temps, en Python, est un tupple qui donne les informations indiquées ci-dessous.
Indice | Nom | Valeur/strong> |
0 | tm_year | Année |
1 | tm_mon | Mois de 1 à 12 |
2 | tm_mday | Numéro du jour dans le mois de 1 à 31 |
3 | tm_hour | Heure de 0 à 24 |
4 | tm_min | Minutes |
5 | tm_sec | Secondes |
6 | tm_wday | Numéro du jour dans la semaine de 0 à 6 |
7 | tm_yday | Numéro du jour dans l'année de 1 à 366 |
8 | tm_isdst | Indique le changement d'heure locale (-1,0,1) |
Testez, en consonle, les lignes de code ci-dessous.
On remarque que l'accès à un élément du tupple peut se faire par l'indice ou par le nom.
Voici deux fonction qui permettent le passage de l'heure POSIX à une structure temps et inversement.
Fonction | Action |
localtime(t) | Convertit une heure POSIX en structure temps Si l'heure n'est pas précisée, elle retorune l'heure locale actuelle |
mktime(t) | Convertit la structure temp st en heure POSIX |
Testez, en console, les lignes de code ci-dessous.
Testez, en console, les lignes de code ci-dessous.
Nous allons, ici, utiliser deux fonctions, strftime et strptime qui permettent de passer d'un structure temps à une chaîne de caractères et inversement.
Fonction | Action |
strftime(fmt,tps) | Retourne une chaîne de caractères au format fmt associée à la structure temps tps. Si tps n'est pas donné, l'affichage est celui de l'heure actuelle. |
strptime(txt,fmt) | Transforme la chaîne de caractères txt, qui est au format fmt en structure temps |
Pour le format fmt voici les clés utilisées
Clé | Valeur |
%d | Jour du mois entre 1 et 31 |
%H | Heure au format 24 heures |
%I | Heure au format 12 heures |
%j | Numéro du jour dans l'année de 1 à 366 |
%m | Mois de 1 à 12 |
%M | Minutes |
%S | Secondes |
%U | Numéro de la semaine |
%w | Numéro du jour de la semaine (Lundi=0) |
%y | Les deux derneirs chiffres de l'année |
%Y | Année à 4 chiffres |
Testez, en console, les lignes de code ci-dessous.
Testez, en console, les lignes de code ci-dessous.
Dans cet exercice on veut retoruver le jour de sa naissance à partir de la date.
Recopiez et complétez le code ci-dessous.
Dans cet exercice on veut connaître le nombre de jours qui nous séparent de Noël.
Recopiez et complétez le code ci-dessous.
Dans cet exercice on veut connaître la date du prochain vendredi 13.
Recopiez et complétez le code ci-dessous.
Dans cet exercice on souhaite connaître les vendredi 13 d'une année.
Recopiez et complétez le code ci-dessous.
Réalisez une fonction qui vous renvoie le nombre de jours qui vous séparent de votre anniversaire.
La méthode after(temps,fonction) permet de lancer la fonction toute les millisecondes donné par la variable temps
L'avantage de la méthode after est qu'elle ne bloque pas les autres processus en cours.
Dans cet exercice on veut afficher une horloge.
Recopiez et complétez le code ci-dessous.
Dans cet exercice on souhaite désarmorcer une bombe qui change de lieu de manière aléatoire sur un canevas.
Cette bombe est représentée par un bouton OFF.
Nous avons 10 secondes pour désarmorcer la bombe et le compte à rebours s'affiche.
Dans cet exercice on va utiliser la méthode grid au lieu de la méthode place.
Cette méthode a l'avantage de mieux s'adapter aux écrans de différentes tailles
Recopiez et complétez le code ci-dessous.
Tkinter ne sait pas afficher des images gif animées. Nous allons donc nous allons donc dévellopé un gif animé. Pour cela nous agiront en deux étapes : en décomposant un gif animé en une succession d'images,gif .
Les images décomposées seront dans le même dossier que le script python ci-dessous.
Dans cet exercice on va créer un personnage qui court.
Recopiez le code ci-dessous.
Reprendre l'exercice précédent avec un personnage de votre choix.
Dans cet exercice on veut que le personnage fasse demi-tour lorsqu'il arrive à un bout de l'écran.
Pour cela vous allez créer un miroir pour chaque image du personnage qui marche.
Puis nous allons créer deux listes: personnagesd, le personnage marche de gauche à droite, et personnagesg, le personnage marche de droite à gauche.
On donne ci-dessous la fonction animation
La méthode bbox permet de récupérer les coordonnées de la boîte
contenant un objet du canevas.
Cette méthode renvoie un tuples (x1,y1,x2,y2) comme l'indique la figure ci-dessous
Das cet exercice on va à nouveau modifier le code précédent en utilisant la méthode move.
Cette méthode permet d'animer un objet du canevas à partir de son vecteur vitesse
On écrira monCanevas.move(personnage,dx,dy), où dx et dy sont les coordonnées
du vecteur vitesse.
Modifiez la fonction animation comme indiqué ci-dessous, puis testez le code.
Dans cet exercice on va reprendre l'exercice 2 de la première leçon de tkinter,
jeu de mot.
Le mot présenté aura la première et la dernière lettre bien placées.
Si le joueur a trouvé le bon mot, un personnage défilera de la gauche vers la droite.
Si le joueur n'a pas trouvé, un autre personnage défilera de la droite vers la gauche.
On donne ci-dessous les codes modifiés de quelques fonctions.
Voici des captures d'écran du résultat attendu.
Vous ajouterez à l'exercice précédent:
On donne ci-dessous les codes de deux fonctions.