Зберегти прогрес
МОДУЛЬ 4. СИГНАЛИ Й ШИФРИ: РЯДКИ

Урок 7. Практикум: шифри

⌨ Python⏱ ~13 хв✎ 5 завдань з автоперевіркою✓ безкоштовно

Секретний зв'язок

Ще Юлій Цезар шифрував листи: кожну літеру замінював на ту, що стоїть у абетці на 3 позиції далі. A → D, B → E, …, X → A.

Код символу

Кожен символ у комп'ютері має числовий код:

●●●код Python
ord("A")     # 65
chr(66)      # 'B'

Латинські великі літери мають коди 65…90. Зсув на k з «прокручуванням»:

●●●код Python
code = ord(ch) - 65            # номер літери 0…25
code = (code + k) % 26         # зсув по колу
new = chr(code + 65)

Остача від ділення % 26 повертає нас на початок абетки після Z.

➜ПОРАДА
Шифр Цезаря дуже слабкий: є лише 25 варіантів ключа, їх легко перебрати. Сучасні шифри набагато складніші, але ідея «перетворити символи за правилом» та сама.
Перевір себе: 5 задач з автоперевіркою
Підказки після помилок, розбір кожної задачі, бали й звання. Безкоштовно, можна без реєстрації.
▶ Розв'язувати задачі