# Step-by-step: the Caesar cipher (part b0bd)

Разложим решение на шаги и объясним, что происходит на каждом из них.

## Задача

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

## Решение

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


## Разбор по шагам

1. **Шаг 1. Входные данные.** Проверяем, что приходит в функцию, и какие значения считаются корректными.
2. **Шаг 2. Основной цикл.** Именно здесь происходит вся работа; следим за изменениями переменных на каждой итерации.
3. **Шаг 3. Результат.** Убеждаемся, что возвращаемое значение соответствует условию задачи, включая крайние случаи.

Читая чужой код, повторите тот же мысленный разбор по шагам — это самый быстрый способ научиться.

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

[Убеждаемся](https://palmierisas.it/jennifer+fabri+pelada?f=linkcentre) · [ord('A](https://exhibit61931.mataroa.blog/blog/secret-session-olivia/) · [быстрый](https://dev.to/valentina_silvaferreira_/rieshaiem-i-tiestiruiem-shifr-tsiezaria-59g) · [сдвиг](https://exhibit85060.mataroa.blog/blog/70b-b4-27c/) · [функцию](https://paper.wf/katyafischer82log/evelinxrose) · [ord('a](https://news-ctl-posts.hashnode.dev/pitfalls-of-word-frequency-counting-part-2b31) · [python](https://radicle.network/nodes/seed.pipapo.org/rad%3AzPCTyPXdGDoKRa4HoSz9G7V2vEoo/issues/ea2af5d219aa38041587c3886e2781b07b80746c) · [условию](https://privatebin.devol.it/?8864e136fe947bda#2vzaS4w5z9RwPfxVturKAntxhUhTkA2JDpvakRMamyDN) · [работает](https://digiwavefront.com/%E6%88%91%E7%9A%84%E4%B8%96%E7%95%8C%E7%8F%8D%E5%A6%AE%E5%8A%A8%E7%94%BB?f=instapaper) · [чужой](https://victorfischer46.wixsite.com/my-site-1/post/31-vakti-t%C3%BCrk%C3%A7e-altyaz%C4%B1l%C4%B1) · [повторите](https://dev.to/valentina_silvaferreira_/rassmatrivaiem-klassichieskuiu-zadachu-provierka-anaghramm-geg) · [номеру](https://fiscalhighroad.org/cherish+art+modelling+studios?f=linkcentre) · [приходит](https://discuss.tchncs.de/post/65444567) · [алфавите](https://annafournier870.overblog.fr/2026/10/post-1.html) · [крайние](https://dev.to/valentina_silvaferreira_/nieskolko-rieshienii-rieshieniia-prostoi-zadachi-chisla-fibonachchi-48da) · [Zruog](https://hey.xyz/posts/3ng3zfhaqcvw1w1h0pm) · [включая](https://articlescad.com/cherish-ams-nude-art-model-exclusive-photo-gallery-and-sets-384198.html) · [разбор](https://newatsapp.altervista.org/wp-content/uploads/event-manager-uploads/event_banner/2026/10/isekaitube-80abdf.pdf) · [шагам](https://news-ctl-posts.hashnode.dev/common-mistakes-in-primality-testing-part-22e4) · [Результат](https://www.sfahba.com/wp-content/uploads/event-manager-uploads/event_banner/2026/10/didicandy666-305abf.pdf) · [Разложим](https://ninafournier129.overblog.fr/2026/10/belinda-aka-bely-first-time-as-a-prostitute.html) · [Основной](https://claraleroy498.overblog.fr/2026/10/breast-cancer-phone-wallpaper.html) · [изменениями](https://discuss.tchncs.de/post/65444062) · [объясним](https://avdc.org/wp-content/uploads/event-manager-uploads/event_banner/2026/10/slimdog-011853.pdf) · [какие](https://loc.edu/wp-content/uploads/event-manager-uploads/event_banner/2026/10/event-93ca23.pdf) · [научиться](https://kappa.lol/Cgpk7B) · [букву](https://privatebin.devol.it/?d5fd66cef8601f24#E2cpS6UHp4pCGQZhkBDVz14Uf1HzkwX2cQRPHQLYcCcv) · [позиций](https://articlescad.com/thaikathoey-384274.html) · [данные](https://vit.ac.in/wp-content/uploads/event-manager-uploads/event_banner/2026/10/jelly-bean-brain-porn-ffa81b.pdf) · [возвращаемое](https://articlescad.com/valarie-ruvalcaba-nude-leaked-onlyfans-photos-videos-384565.html)

