Explications en vidéo
Ce script permet de coder et de décoder des messages écrits en morse. Pratique pour envoyer un message à une personne à travers une pièce quand on n’a pas de téléphone sous la main !
L’idéal est que les 2 personnes aient une calculatrice Numworks pour pouvoir se répondre.
Il suffit de taper code("Votre texte ici")
et d’orienter la calculatrice vers la personne. Le message tournera en boucle, attentez que la personne vous dise qu’elle l’a compris.
Tapez dec()
. Il y a plusieurs indications sur ce que vous voyez sur l’écran de l’autre personne :
from time import * from kandinsky import * # Les constantes MORSE = { 'A':'.-', 'B':'-...', 'C':'-.-.', 'D':'-..', 'E':'.', 'F':'..-.', 'G':'--.', 'H':'....', 'I':'..', 'J':'.---', 'K':'-.-', 'L':'.-..', 'M':'--', 'N':'-.', 'O':'---', 'P':'.--.', 'Q':'--.-', 'R':'.-.', 'S':'...', 'T':'-', 'U':'..-', 'V':'...-', 'W':'.--', 'X':'-..-', 'Y':'-.--', 'Z':'--..', '1':'.----', '2':'..---', '3':'...--', '4':'....-', '5':'.....', '6':'-....', '7':'--...', '8':'---..', '9':'----.', '0':'-----','?':'..--..'} COUL = [[255,255,100], [255,0,0], [0,0,255], [220,100,255]] TPS = [0.5,1,1,0.5] POS = [0, 0, 280, 280] def eff(): # Ecran noir fill_rect(0,0,320,240,[0]*3) def flash(t): sleep(.5) rec(COUL[t], t) sleep(TPS[t]) rec([0]*3, t) def rec(c, pos): m = POS[pos] fill_rect(m,0,320,220,c) def code(txt="BONJOUR"): eff() while True: flash(2) flash(2) for c in txt.upper(): if c in MORSE: for p in MORSE[c]: flash(0 if p=='.' else 1) flash(3) def dec(): alpha = list(MORSE.keys()) codes = list(MORSE.values()) clair = "" while True: t=input() code = "" for c in t: code += '.' if c=='.' else "-" try: clair+=alpha[codes.index(code)] except: clair+="#" print(clair)