Przesunięcie litery

Szyfr Cezara i szyfry przestawieniowe - Informatyka - liceum klasa 2, zakres rozszerzony (Python)

**Szyfr Cezara** zastępuje każdą literę literą położoną o `key` miejsc dalej w alfabecie (Juliusz Cezar używał przesunięcia 3: A→D, B→E, ...). Na końcu alfabetu liczenie zaczyna się od początku: X→A, Y→B, Z→C. W programie litera zamienia się na **numer w alfabecie** (`ord(ch) - ord("A")`, od 0 do 25), do numeru dodaje się klucz, a **reszta z dzielenia przez 26** (`% 26`) zawija numer na początek alfabetu. Numer z powrotem zamienia się na literę funkcją `chr`.

def shift(ch, key):
    number = ord(ch) - ord("A")
    number = (number + key) % 26
    return chr(number + ord("A"))

for ch in "ABXYZ":
    print(ch, "->", shift(ch, 3))
print("".join(shift(ch, 3) for ch in "CEZAR"))

Ładowanie interaktywnego edytora... Jeśli się nie pojawi, włącz JavaScript.

Wszystkie lekcje kursu Informatyka - liceum klasa 2, zakres rozszerzony·Zaloguj się, aby zapisać postęp na koncie.