Symboles utilisés pour chiffrer | Youtube channel
La fonction phrase décompose la phrase en mots. La fonction mot décompose le mot en caractères. La fonction car trace le symbole de la lettre à la position (x,y) et de taille t.
Exemples : La lettre “A” a pour symbole “ | - - “ c’est-à-dire “100” et “B” a pour symbole “- | +” soit “012”.
En parcourant les “chiffres” de gauche à droite (on peut bien sûr faire l’inverse), la chaine “100” correspond au nombre 1 + 0 * 3 + 0 * 9 = 1 en base 3. De même “012” correspond au nombre 0 + 1 * 3 + 2 * 9 = 21. Si l’alphabet “ABC…Z” commence à la position 0, les nombres 1 et 21 sont les lettres “B” et “V”. C’est la ligne alpha dans le code ci-dessous.
from turtle import * alpha = "BVQGAFYEJZUSWMDLICKNOHPXTR" def line(t, a=0): setheading(a) pendown() fd(t) penup() def car(x, y, v, t): n = ord(v) - 65 penup() for i in range(3): r = n % 3 n //= 3 if r != 1: goto(x + t * i, y) line(t) if r >= 1: goto(x + t * i + t // 2, y - t // 2) line(t, 90) def mot(x, y, m, t): for i, c in enumerate(m): d = i * (t // 2) car(x + d, y - d, alpha[ord(c) - 65], t) def phrase(x, y, p, t): yy = y for i, m in enumerate(p.split(" ")): mot(x, yy, m, t) yy -= (len(m) + 1) * (t // 2) phrase(-100, 100, "ALL HU MAN BE INGS ARE BORN FREE", 12) phrase(0, 100, "AND E QUAL IN DIG NI TY AND RIGHTS", 12) hideturtle()