Convertir un nombre binaire en carrés noirs et blancs
Ferméhoupla - 1 oct. 2022 à 12:59
- Convertir un nombre binaire en carrés noirs et blancs
- Codage binaire - Guide
- Convertir youtube en mp3 avec audacity - Guide
- Convertir youtube en mp3 forum ✓ - Forum Logiciels
- Convertir pdf en word excel gratuit - Guide
- Rémi et safia ont découvert le code binaire des nombres en cours d'informatique. ils l'utilisent pour se donner des rendez-vous secrets. ils ont décidé que : un message comporte 5 bits et donne le jour puis le moment les jours et les moments sont traduits par les nombres comme ci-dessous - Forum Programmation
2 réponses
Bonjour, je ne suis pas certain d'avoir bien saisi ta demande, mais pour relier 0 à tel commande et 1 à une autre, un dictionnaire suffit.
ex. avec 2 fonctions que tu auras à remplacer par tes fonctions turtle.
def commande_0(): print('zéro') def commande_1(): print('un') cmds = {'0':commande_0, '1':commande_1} s = '0011010' for c in s: cmds[c]()
Bonjour, déjà, ta fonction on peut la remplacer en utilisant la fonction native de python : bin()
De plus que ce soit des couleurs ou des commandes, la méthode est identique, passer par un dict pour lier ces éléments.
Je suis nul en turtle, il est bien plus préférable d'utiliser directement tkinter qu'un bibliothèque telle que turtle n'ayant qu'un but purement pédagogique et ayant pour finalité que de faire des choses simplistes.
Donc on obtient rapidement quelque chose comme
import turtle WINDOW_WIDTH = 400 WINDOW_HEIGHT = 400 COLORS = {'0': 'white', '1': 'black'} def draw_square(size, color): turtle.color(color) turtle.forward(size) turtle.right(-90) turtle.forward(size) turtle.right(-90) turtle.forward(size) turtle.right(-90) turtle.forward(size) turtle.right(-90) number = int(input("Entrer un nombre :")) number_bin = str(bin(number))[2:] turtle.screensize(canvwidth=400, canvheight=WINDOW_WIDTH, bg='lightBlue') turtle.setworldcoordinates(-1, WINDOW_HEIGHT, WINDOW_WIDTH, -1) square_size = 20 square_spacing = 5 turtle_pos = [10, 10] for n in number_bin: turtle.up() turtle.goto(turtle_pos) turtle.pendown() draw_square(square_size, COLORS[n]) turtle_pos[:] = [n + square_size + square_spacing for n in turtle_pos] turtle.mainloop()
Évidemment, il faudra modifier pour changer la position de traçage des rectangles, et adapter leur dimensions en fonction de la longueur du binaire.
Modifié le 5 oct. 2022 à 15:51
Bonjour,
Merci ! Pour mieux expliquer mon problème :
Je ne sais pas si c'est plus précis ^^