Morse is een gecodeerde communicatievorm bestaande uit signalen die met tussenpozen worden uitgezonden. Vastgelegde combinaties van deze signalen stellen dan de verschillende letters, leestekens en cijfers voor. Deze morsecode werd in 1835 uitgevonden en ontwikkeld door Samuel Morse, met als doel ze te gebruiken voor het verzenden van telegrafische berichten. Met een telegraaf (zie figuur) kon men namelijk enkel kiezen tussen twee toestanden: sleutel naar beneden (= stroom) of sleutel naar boven (= geen stroom) en tijdsduur (kort of lang). Telegrafie wordt algemeen beschouwd als een voorloper van de latere digitale communicatie.
In de internationale morsecode worden korte signalen genoteerd met een punt (.) en lange signalen met een koppelteken (-).
Gegeven is een tekstbestand morsecode.txt1 . Dit tekstbestand bevat een lijst van lettertekens (eerste kolom) en hun corresponderende voorstelling in morsecode (tweede kolom). De kolommen worden gescheiden door een tab (\t
). In dit bestand zie je bijvoorbeeld dat de letter K
in morsecode wordt voorgesteld als -.-
en dat een komma wordt voorgesteld als --..--
. Je mag veronderstellen dat dit bestand correct is.
lees_morse_codes
waaraan de bestandsnaam moet doorgegeven worden. De inhoud van dit tekstbestand moet opgemaakt zijn zoals bestand morsecode.txt2. De functie moet als resultaat een dictionary teruggeven, waarin de karakters uit het bestand als sleutels gebruikt worden, en de morsecode notatie van deze karakters als hun corresponderende waarden. Indien het bestand niet kan geopend worden, moet de functie een lege dictionary teruggeven.>>> lees_morse_codes('morsecode.txt')
{'A': '.-', 'B': '-...', 'C': '-.-.', ... , '(': '-.--.', '=': '-...-', '@': '.--.-.'}
>>> lees_morse_codes('foutbestand.txt')
{}