Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Exploring the Caesar cipher
- Разберём задачу, которая встречается практически в каждом учебнике по программированию.
- Задача
- Реализовать шифр Цезаря: сдвинуть каждую букву строки на фиксированное число позиций в алфавите.
- Решение
- ``python
- def caesar(text: str, shift: int) -> str:
- result = []
- for ch in text:
- if ch.isalpha():
- base = ord('A') if ch.isupper() else ord('a')
- result.append(chr((ord(ch) - base + shift) % 26 + base))
- else:
- result.append(ch)
- return ''.join(result)
- print(caesar("Hello, World!", 3))
- `
- Как это работает
- Буква переводится в номер внутри алфавита, к номеру прибавляется сдвиг, а остаток от деления на 26 обеспечивает «зацикливание» алфавита. Прочие символы не меняются.
- Пример работы
- `text
- Khoor, Zruog!
- ``
- Сложность
- O(n) по времени, O(n) по памяти под результат.
- Это решение удобно как отправная точка для экспериментов: попробуйте изменить входные данные и проследить за поведением кода.
- View Full Gallery → https://go.cbrop.com/prse
- Related:
- https://newatsapp.altervista.org/wp-content/uploads/event-manager-uploads/event_banner/2026/11/event-43b185.pdf
- https://posts.workshop-hub.workers.dev/binary-search-razbor
- https://ecency.com/@karelnovotn6538/naturistin-holiday-saint-germain-co-nz-4cdb3e
- https://pastebin.com/iSfaCYBN
- https://kappa.lol/lakkty
Advertisement
Add Comment
Please, Sign In to add comment