Sur le principe d'un bitmap.
Le programme suivant utilise le module turtle.
from turtle import * # on importe le module turtle
setworldcoordinates(-32,-32, 12,12)# ouverture de la fenêtre graphique
mot = "0101100111" # une chaîne de caractères
penup() # on lève le crayon pour ne pas laisser de trace des déplacements
speed(0) # accélération de la tortue
setposition(-20,0) # position initiale de la tortue
shape('turtle') # forme de la tortue
for c in mot :
rayon = 3 * ( c == '0') + 15 * ( c == '1') # rayon du point
dot(rayon,'black') # tracé du point
forward(1) # on avance de 1
hideturtle() # on cache la tortue
exitonclick() # on fermera la fenêtre par un clic sur cette fenêtre
Le résultat de ce code est le suivant :
Votre tâche est maintenant de compléter le code suivant :
from turtle import *
setworldcoordinates(-32,-32, 12,12)
mot = "0000000111111000000000000111101111100000000011000000001110000011100000\
0000001100001100000000000001000110000100000100011001000111100011100011\
1100011100011110001111000001000001000001100000000000000000111100000000\
0000000001110010000000000100111100010000000010001101000110000001100011\
0110001110011100001000110001111110001100000110000000000011000000110000\
00001110000000011110101110000000000001111111000000"
penup()
speed(0)
setposition(-20,0)
shape('turtle')
#### compléter ici ###
hideturtle()
exitonclick()
Le code à compléter doit :
- parcourir les lettres du mot,
- dessiner un petit point blanc (rayon 3) pour chaque caractère 0,
- dessiner un gros point noir (rayon 20) pour chaque caractère 1,
- avancer de 1 entre deux caractères
- aller au début de la ligne suivante tous les 20 caractères.
Pour le retour à la ligne suivante, vous consulterez la page du module turtle. On pourra par exemple utiliser setx()
.
Lorsque vous aurez fini l'exercice, vous pourrez parcourir la page wikipedia sur le format pbm et faire le lien avec ce que vous venez de coder. Il s'agit là du principe général de définition d'une image bitmap.