Začněte nyníZačněte zdarma

Indexování a spojování řetězců

Podíváme se na jednu z nejstarších známých šifrovacích technik – Caesarovu šifru. Princip je jednoduchý: každé písmeno zprávy se posune o určitý počet pozic v abecedě. Například při posunu o 1 se 'xyz' zašifruje na 'yza' – a při dešifrování to platí obráceně. Všimni si, že 'z' se v tomto případě změní na 'a'.

Zašifrování i dešifrování tedy vyžadují dva argumenty: text a celé číslo určující posun (key = 1 pro výše uvedený příklad).

Tvým úkolem je vytvořit šifrovací funkci pracující s anglickou abecedou uloženou v řetězci alphabet.

Toto cvičení je součástí kurzu

Procvičování otázek z kódovacích pohovorů v Pythonu

Zobrazit kurz

Interaktivní cvičení na vyzkoušení si v praxi

Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.

def encrypt(text, key):
  
    encrypted_text = ''

    # Fill in the blanks to create an encrypted text
    for char in text.lower():
        idx = (alphabet.____(____) + ____) % len(____)
        encrypted_text = encrypted_text + alphabet[idx]

    return encrypted_text

# Check the encryption function with the shift equals to 10
print(____("datacamp", ____))
Upravit a spustit kód