Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Walking through 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://milhench.com/wp-content/uploads/event-manager-uploads/event_banner/2026/11/eliz-fit-bfc302.pdf
- https://jaflysilve.freeflarum.com/d/16570-16570-heliots
- https://posts.workshop-hub.workers.dev/factorial-shagi
- https://rentry.org/willow-coppock-333620
- https://pastebin.com/6ByDYguM
Advertisement
Add Comment
Please, Sign In to add comment