Szyfr Cezara

Powtórzenie: algorytmy na tekstach i szyfr Cezara - Informatyka - liceum klasa 3 (Python)

**Szyfr Cezara** przesuwa każdą literę alfabetu o stałą liczbę miejsc (klucz). Kod litery daje `ord`, a literę z kodu `chr`. Dla wielkich liter angielskiego alfabetu numer litery to `ord(ch) - ord("A")` (od 0 do 25); po dodaniu klucza bierzemy resztę z dzielenia przez 26, żeby po Z wrócić do A. Znaki spoza alfabetu zostają bez zmian. Odszyfrowanie to przesunięcie o `-klucz` (albo `26 - klucz`).

def caesar(text, shift):
    result = ""
    for ch in text:
        if "A" <= ch <= "Z":
            result += chr((ord(ch) - ord("A") + shift) % 26 + ord("A"))
        else:
            result += ch
    return result

secret = caesar("ATAK O SWICIE", 3)
print(secret)
print(caesar(secret, -3))

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

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