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
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", ____))