Čtenáři jako vy pomáhají podporovat MUO. Když provedete nákup pomocí odkazů na našich stránkách, můžeme získat provizi přidružené společnosti. Přečtěte si více.

Morseova abeceda existuje od počátku 19. století a našla si cestu do digitální éry. Morseova abeceda tu zůstane, ať už sloužila jako kritické médium komunikace během druhé světové války po zasílání šifrovaných zpráv v letectví a námořnictvu.

Pokud si nejste vědomi tohoto fascinujícího jazyka, připravte se nejen na objevování Morseovy abecedy, ale také na vytvoření vlastního překladače pomocí Pythonu.

Co je Morseova abeceda?

Morseova abeceda je způsob komunikace, při kterém kódujete textové znaky do standardní sekvence dvou signálů s různou dobou trvání, označených tečkami a pomlčkami. Morseova abeceda dostala své jméno od Samuela Morse, jednoho z vynálezců telegrafu. Můžete si jej zapamatovat a přenášet prostřednictvím zvukových vln nebo viditelného světla vnímatelného lidskými smysly.

Délka ekvivalentu Morseovy abecedy je inverzní k naší frekvenci používání této abecedy a můžete vidět, že Morseova abeceda přiřazuje nejběžnější písmeno v angličtině, E, pouze tečce.

instagram viewer

Můžete použít tyto bezplatný software a aplikace Morseovy abecedy pro odesílání kódovaných zpráv navzájem. Na druhou stranu, naučit se morseovku je poměrně jednoduché a můžete se ji naučit za měsíc s pořádnou dávkou praxe. Abychom vám pomohli začít, zde jsou devět míst, kde se můžete naučit morseovku zdarma.

Jak vytvořit překladač Morseovy abecedy pomocí Pythonu

Začněte definováním slovníku Pythonu s názvem MORSE_CODE_DICT pro uložení hodnot Morseovy abecedy. Klíče budou písmena anglické abecedy s odpovídající tečkou nebo pomlčkou jako odpovídající hodnotou. Pomocí slovníku můžete rychle vyhledat libovolnou klávesu na odpovídající hodnotu.

MORSE_CODE_DICT = { 'A':'.-', 'B':'-...',
'C':'-.-.', 'D':'-..', 'E':'.',
'F':'..-.', 'G':'--.', 'H':'...',
'já':'..', 'J':'.', 'K':'-.-',
'L':'.-..', 'M':'--', 'N':'-.',
'Ó':'', 'P':'.--.', 'Q':'--.-',
'R':'.-.', 'S':'...', 'T':'-',
'U':'..-', 'PROTI':'...-', 'W':'.--',
'X':'-..-', 'Y':'-.--', 'Z':'--..',
'1':'.', '2':'..', '3':'...--',
'4':'...-', '5':'...', '6':'-...',
'7':'--...', '8':'..', '9':'.',
'0':'', ', ':'--..--', '.':'.-.-.-',
'?':'..--..', '/':'-..-.', '-':'-...-',
'(':'-.--.', ')':'-.--.-' }

Deklarujte funkci s názvem encrypt, která přijímá zpráva jako vstupní parametr. Uvnitř funkce inicializujte proměnnou s názvem šifra s prázdným řetězcem. Toto použijete k vytvoření a uložení zašifrované zprávy. Dále deklarujte cyklus for, který se iteruje přes každé písmeno ve zprávě.

Pokud písmeno není prázdné místo, předejte jej do slovníku k vyhledání. Slovník vrátí odpovídající hodnotu kódu More na základě klíče. Přidejte mezeru k oddělení znaků Morseovy abecedy a použijte zkratku += operátor jej zřetězit s kódem získaným ze slovníku. Pokud je písmeno prázdné místo, přidejte do šifry mezeru navíc; Morseova abeceda odděluje slova dvěma po sobě jdoucími mezerami.

defzašifrovat(zpráva):
šifra = ""
pro dopis ve zprávě:
-li písmeno != " ":
šifra += MORSE_CODE_DICT[písmeno] + " "
jiný:
šifra += " "
vrátit se šifra

Deklarujte funkci s názvem decrypt, která přijímá zpráva jako vstupní parametr. Přidejte mezeru na konec pomocí zkráceného operátoru pro přístup k poslednímu znaku Morseovy abecedy. Inicializujte dvě proměnné, dešifrujte a citát držet prázdné řetězce. Proměnná dešifrovat bude obsahovat dešifrovanou větu skládající se z anglické abecedy, zatímco vy používáte citext k uložení každého písmena Morseovy abecedy.

Opakujte cyklus for, který prochází každým písmenem Morseovy abecedy. Pokud písmeno není prázdné místo, inicializujte proměnnou čítače i, která sleduje počet mezer na nulu, a uložte Morseovu abecedu jednoho znaku do citextu. V opačném případě je písmeno mezerou, proto zvyšte počítadlo o jednu.

Pokud se počítadlo rovná dvěma, znamená to, že musíte k dešifrované proměnné slova dešifrovat mezeru. V opačném případě přistupujte ke klíčům pomocí jejich hodnot. Chcete-li to provést, iterujte páry klíč–hodnota ve slovníku pomocí funkce items. Pokud se citext rovná hodnotě, přidejte odpovídající klíč do proměnné dešifrování pomocí zkráceného operátoru.

Nakonec vymažte citext, abyste získali další písmeno, a vraťte získanou dešifrovanou větu do volání funkce.

defdešifrovat(zpráva):
zpráva += " "
dešifrovat = ""
citát = ""

pro dopis ve zprávě:
-li písmeno != " ":
i = 0
citext += dopis
jiný:
i += 1

pokud i == 2:
dešifrovat += " "
jiný:
proklíč, hodnotavMORSE_CODE_DICT.položky():
if citext == hodnota:
dešifrovat += klíč

citát = ""

vrátit se rozluštit

Otestujte funkce s nějakým vzorovým vstupem. Začněte inicializací proměnné s názvem zpráva se slovem nebo větou, kterou chcete zašifrovat. Použijte horní převede všechna písmena na velká písmena a předá je funkci šifrování jako argument. Morseova abeceda obsahuje pouze velká písmena, což jsou klíče ve slovníku. To také pomáhá vyhnout se zbytečným kontrolám za běhu na správná malá a velká písmena.

Vytiskněte výslednou hodnotu a zobrazte ekvivalent Morseovy abecedy původní věty.

Poté uložte Morseovu abecedu do proměnné zprávy a předejte ji funkci dešifrování. Vytiskněte výsledek a zkontrolujte, zda je správný.

Místo pevného kódování vstupu jej můžete od uživatele přijmout pomocí vstup() funkce.

zpráva = "Využij"
výsledek = zašifrovat (message.upper())
tisk(výsledek)

zpráva = "-- .- -.-. ..-.... ..-."
výsledek = dešifrovat (zpráva)
tisk(výsledek)

Výstup překladače Morseovy abecedy v Pythonu

Program Python přeloží každé písmeno anglické abecedy na jeho ekvivalent v Morseově abecedě a zobrazí je na výstupní obrazovce terminálu, jak je znázorněno. Pokud získaný výstup zkopírujete a předáte k dešifrování, obdržíte původní text, který jste předali dříve. Tím se ověří, že překlad fungoval perfektně.

Mobilní aplikace pro Morseovu abecedu

Překladače Morseovy abecedy jsou k dispozici zdarma přímo na dosah ruky. Na různých platformách je k dispozici více než stovky aplikací, jako je Morse Mania, Morse Trainer, Reader Morseovy abecedy, klávesnice Morseovy abecedy a Překladač Morseovy abecedy. K vašemu překvapení ji dokonce podporuje GBoard – Google Keyboard.

Pro přístup k Morseově abecedě na Gboardu otevřete ikonu Nastavení na Gboardu, vyberte Jazyky a klepněte na Angličtinu (USA). Přejeďte prstem doprava přes možnosti a poté vyberte Morseovu abecedu. Vaše klávesnice nyní podporuje vkládání Morseovy abecedy spolu se službami pro usnadnění, jako je TalkBack, Switch Access nebo Select to Speak.