# Walking through the Caesar cipher (part 9649)

Предлагаю решить задачу вместе: без спешки, с объяснением каждой строки.

## Задача

Реализовать шифр Цезаря: сдвинуть каждую букву строки на фиксированное число позиций в алфавите.

## Решение

```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) по памяти под результат.


Такой пример хорошо закрепляется практикой — перепишите решение руками и прогоните на своих тестах.

**Читайте также:**

[результат](https://hey.xyz/posts/417cwetwmnfhtg1bbd) · [позиций](https://marcoronline.net/erotikmovi?f=instapaper) · [python](https://contracosta.news/wp-content/uploads/event-manager-uploads/event_banner/2026/10/sophie-rain-tit-29e18e.pdf) · [работает](https://exhibit67140.mataroa.blog/blog/7a3-fa-166/) · [вместе](https://dev.to/valentina_silvaferreira_/rieshaiem-i-tiestiruiem-shifr-tsiezaria-59g) · [объяснением](https://news-ctl-posts.hashnode.dev/writing-tests-for-fast-exponentiation-part-e348) · [практикой](https://pen.absturztau.be/ozd8c0fe/priyanka-chaurasia-nude-boobs) · [работы](https://yakihonne.com/article/naddr1qvzqqqr4gupzpdpsusxg6mvt50q2u7udzg2g45nq3227ggdf5zyw2z9nemwsvctpqy28wumn8ghj7un9d3shjtnyv9kh2uewd9hszrthwden5te0dehhxtnvdakqzynhwden5te0danxvcmgv95kutnsw43qqtr8v9kxcetj0ykngcfjxqunzcmr94nxzwf5956xgvrr94snwety94nxyeny8yux2vmzv33ky57udx0) · [закрепляется](https://news-ctl-posts.hashnode.dev/two-ways-to-solve-binary-search-part-de08) · [хорошо](https://dev.to/valentina_silvaferreira_/nieskolko-rieshienii-rieshieniia-prostoi-zadachi-chisla-fibonachchi-48da) · [деления](https://loc.edu/wp-content/uploads/event-manager-uploads/event_banner/2026/10/ensest-aile-i-i-hikayeler-56a0f4.pdf) · [ch.isupper](https://statics.pancake.vn/web-media-264/b4/89/a5/3c/5841ca3921151d37eebec5f5ed4cf6ca469b24a508fd939cbb8a7c61.pdf) · [сдвиг](https://loc.edu/wp-content/uploads/event-manager-uploads/event_banner/2026/10/baba-bruno-cock-0a7ab5.pdf) · [ord('A](https://cultmtl.com/wp-content/uploads/event-manager-uploads/event_banner/2026/10/event-510f93.pdf) · [return](https://contracosta.news/wp-content/uploads/event-manager-uploads/event_banner/2026/10/babytanaxo-7c6fef.pdf) · [символы](https://contracosta.news/wp-content/uploads/event-manager-uploads/event_banner/2026/10/livu-ifsa-2c6cb9.pdf) · [меняются](https://espn24.co.uk/ellen+goodman+brother?f=instapaper) · [алфавита](https://dev.to/valentina_silvaferreira_/rassmatrivaiem-klassichieskuiu-zadachu-provierka-anaghramm-geg) · [решение](https://paper.wf/sofiawolf77log/indian-leaked-nude) · [Предлагаю](https://pen.absturztau.be/ozd8c0fe/ci-duo-cui-mian) · [Решение](https://cultmtl.com/wp-content/uploads/event-manager-uploads/event_banner/2026/10/madison-skyy-leaked-2220e7.pdf) · [Прочие](https://gitlab.com/chuongnhuhoa/trusrewre/-/blob/main/articles/palindrome-razbor-mvcjb5bk.md) · [Цезаря](https://hey.xyz/posts/1ehrjpt90qfqfzrnmfe) · [Zruog](https://loc.edu/wp-content/uploads/event-manager-uploads/event_banner/2026/10/miss-junior-nudist-contest-c3c861.pdf) · [остаток](https://cultmtl.com/wp-content/uploads/event-manager-uploads/event_banner/2026/10/bigboob-porns-63db34.pdf) · [result](https://discuss.tchncs.de/post/65439609) · [каждую](https://hey.xyz/posts/3hyt9vsh3wjtspkcda3) · [Буква](https://rentry.co/gallery-815702) · [Khoor](https://sway.cloud.microsoft/z96niHWQJmuvi4pN)

