Indeksowanie i łączenie ciągów znaków
Poznasz jedną z najstarszych znanych technik szyfrowania – szyfr Cezara. Polega ona na prostym przesunięciu każdej litery wiadomości o określoną liczbę pozycji w danym alfabecie. Na przykład, dla alfabetu angielskiego, przesunięcie o 1 dla 'xyz' daje 'yza', a vice versa przy odszyfrowywaniu. Zauważ, że 'z' staje się w tym przypadku 'a'.
Zatem szyfrowanie i odszyfrowywanie wymagają dwóch argumentów: tekstu oraz klucza całkowitego określającego przesunięcie (key = 1 w powyższym przykładzie).
Twoim zadaniem jest stworzenie funkcji szyfrującej, korzystając z alfabetu angielskiego zapisanego w łańcuchu alphabet.
To ćwiczenie jest częścią kursu
Ćwiczenie pytań na rozmowach kwalifikacyjnych z programowania w Pythonie
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
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", ____))