Aller au contenu

Mini Projets

Le code morse :⚓︎

Le code morse un morse faisant du code
Crédits : F1jmm, CC BY-SA 4.0 , Wikimedia Commons
Un morse écrivant du morse
Image générée à l'aide de DALL-E d'Open AI (CC BY-SA 4.0)

Utilisation d'un dictionnaire

On représente le code morse à l'aide d'un dictionnaire, on ne s'intéresse qu'aux lettres en majuscules non accentuées.
Pour l'espace on utilise le slash (par exemple). Vous pourrez recopier dans votre code ce dictionnaire.

🐍 Script Python
morse = {' ': '/', 'E': '°', 'I': '°°', 'S': '°°°', 'H': '°°°°', 'V': '°°°-', 'U': '°°-', 'F': '°°-°',
'A': '°-', 'R': '°-°', 'L': '°-°°', 'W': '°--', 'P': '°--°', 'J': '°---', 'T': '-', 'N': '-°', 'D': '-°°',
'B': '-°°°', 'X': '-°°-', 'K': '-°-', 'C': '-°-°', 'Y': '-°--', 'M': '--', 'G': '--°', 'Z': '--°°', 
'Q': '--°-', 'O': '---'}

Travail à faire :⚓︎

Ecrire un script qui permet de déchiffrer un message envoyé en morse.

Contraintes

  • Le script sera bien structuré, avec plusieurs fonctions
  • Vous utiliserez le dictionnaire donné

Exemple d'exécution

Vous pouvez avoir des noms de fonctions différents. Ceci n'est qu'un exemple.

🐍 Console Python
>>> message = 
'-°°°*°-°*°-*°°°-*---*/°---*°*°°-*-°*°*/°--°*°-*-°°*°-*°--*°-*-°*/°-°°*°-*/-°*°°°*°°*/°*°°°*-*/°-*°°°-*°*-°-°*/-*---*°°*'
>>> decode_mots(message, morse)
'BRAVO JEUNE  PADAWAN LA NSI EST AVEC TOI'

Ascii art⚓︎

L'Ascii art consiste à représenter un dessin ou une image uniquement en utilisant des caractères ascii.

Le site ASCII art archive recense tout un ensemble de créations :

("`-''-/").___..--''"`-._ 
 `6_ 6  )   `-.  (     ).`-.__.`) 
 (_Y_.)'  ._   )  `._ `. ``-..-' 
   _..`--'_..-_/  /--'_.'
  ((((.-''  ((((.'  (((.-' 
         __
 _(\    |@@|
(__/\__ \--/ __
   \___|----|  |   __
       \ }{ /\ )_ / _\
       /\__/\ \__O (__
      (--/\--)    \__/
      _)(  )(_
     `---''---`
  ________________
 /.,------------,.\
///  .=^^^^^^^\__|\\
\\\   `------.   .//
 `\\`--...._  `;//'
   `\\.-,___;.//'
     `\\-..-//'
jgs    `\\//'
         ""

Le vidéaste Miicode a publié une vidéo qui est à la base de ce mini projet

vous pouvez regarder la vidéo ci-dessous

Comme vous le voyez, l'objectif est un peu différent : on va remplacer dans une image la couleur d'un pixel par un caractère ascii dont le remplissage permettra de faire varier la clarté de l'image.

Votre code devra donc :

  • importer une image, éventuellement en couleur
  • convertir cette image en niveaux de gris
  • redimensionner cette image de façon à ce qu'elle n'ait qu'une centaine de pixels de large/haut afin de pouvoir être affichée dans le prompt de python ou qu'elle soit lisible dans un fichier texte
  • déterminer une série de caractères allant dans un ordre croissant d'opacité
    • " " l'espace correspond à un pixel blanc
    • "@" peut être choisi comme le caractère le plus noir
    • choisir des caractères intermédiaires
  • attribuer à chaque pixel un caractère et l'écrire dans une liste ou chaine de caractères
  • afficher la liste/chaine de caractère de façn à fisualiser le résultat
  • éventuellement proposer de l'enregistrer au format txt

Bonne chance !