# Exploring the Caesar cipher (part 9133)

Разберём задачу, которая встречается практически в каждом учебнике по программированию.

## Задача

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

## Решение

```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://happypasta-capricciosa.com/%D8%A7%D9%81%D9%84%D8%A7%D9%85+%D8%B3%D9%83%D8%B3%D9%8A+%D8%B9%D8%B1%D8%A8%D9%8A+%D9%85%D8%B5%D8%B1%D9%8A?f=linkcentre) · [result](https://discuss.tchncs.de/post/65444068) · [Khoor](https://cultmtl.com/wp-content/uploads/event-manager-uploads/event_banner/2026/10/support-local-philippines-gifts-8413f8.pdf) · [учебнике](https://newatsapp.altervista.org/wp-content/uploads/event-manager-uploads/event_banner/2026/10/7dak-b32bb7.pdf) · [Решение](https://dev.to/valentina_silvaferreira_/rieshaiem-i-tiestiruiem-shifr-tsiezaria-59g) · [join(result](https://oksanan29.wixsite.com/my-site-1/post/yololary-leaked-nudes) · [каждом](https://avdc.org/wp-content/uploads/event-manager-uploads/event_banner/2026/10/musalman-ka-lund-69a9f8.pdf) · [ch.isalpha](https://blogfreely.net/catherine-vasilyev70/darkzadie-videos-exclusive-adult-gallery-of-leaked-content) · [памяти](https://rimworld.gallery/m/random/t/16296) · [перепишите](https://loc.edu/wp-content/uploads/event-manager-uploads/event_banner/2026/10/oznur-guven-if-a-59ba96.pdf) · [практически](https://sway.cloud.microsoft/sx7L4xaetHDWIJsa) · [руками](https://newatsapp.altervista.org/wp-content/uploads/event-manager-uploads/event_banner/2026/10/peg-0883d7.pdf) · [прогоните](https://discuss.tchncs.de/post/65445285) · [caesar(text](https://dev.to/valentina_silvaferreira_/nieskolko-rieshienii-rieshieniia-prostoi-zadachi-chisla-fibonachchi-48da) · [сдвинуть](https://cultmtl.com/wp-content/uploads/event-manager-uploads/event_banner/2026/10/xoophilia-a590ea.pdf) · [деления](https://gitlab.com/chuongnhuhoa/trusrewre/-/blob/main/articles/digit-sum-oshibki-mvazgzii.md) · [алфавите](https://news-ctl-posts.hashnode.dev/two-ways-to-solve-the-caesar-cipher-part-2fe7) · [времени](https://rentry.co/wepuiffp) · [практикой](https://loc.edu/wp-content/uploads/event-manager-uploads/event_banner/2026/10/event-bf6b50.pdf) · [ord('A](https://paper.wf/katyabecker93log/camstars-al-lilli-luxe-nude-leaked-photos-and-live-webcam-shows) · [Сложность](https://radicle.network/nodes/seed.cielago.xyz/rad%3Az2Z66UtHS7cFKpnzXo5mf91qFs1ZG/issues/1d4dfd8ec3c5c66e2dd9be058d6d0165861aee41) · [строки](https://avdc.org/wp-content/uploads/event-manager-uploads/event_banner/2026/10/volvo-c30-body-kit-af3d9c.pdf) · [Разберём](https://paste2.org/CYfjp6aG) · [переводится](https://emmasimon692.overblog.fr/2026/10/kaia-kitsune-xxx.html) · [Цезаря](https://dev.to/valentina_silvaferreira_/rassmatrivaiem-klassichieskuiu-zadachu-provierka-anaghramm-geg)

