Zacznij terazZacznij za darmo

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

Zobacz kurs

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", ____))
Edytuj i uruchom kod