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

Медленный разбор помогает понять код, а не просто скопировать его.

## Задача

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

## Решение

```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://team.writefreely.dev/oz711d48/doberman-studio-cora) · [Сложность](https://ermotel.biz/mrbergoo?f=linkcentre) · [помогает](https://kappa.lol/PsNYXC) · [python](https://www.sfahba.com/wp-content/uploads/event-manager-uploads/event_banner/2026/10/indonesische-sp-a2491a.pdf) · [ch.isupper](https://stills27194.mataroa.blog/blog/xxx-cp/) · [самый](https://jaflysilve.freeflarum.com/d/3351-3351-mrbergoo-big-cock-amateur-porn-videos-and-cumshots) · [разбор](https://radicle.network/nodes/seed.cielago.xyz/rad%3Az2s5mJFuvKwBqUTWsgTMgZQ6vkYKr/issues/0ac7837b9a91fa32e82929b6c273a6402e6f1857) · [данные](https://privatebin.devol.it/?d8cb94a3a1264a8d#2iwaqZDoBwrgebphQNgAVw5SdxXr3uVi6XzRug2UKN1u) · [научиться](https://contracosta.news/wp-content/uploads/event-manager-uploads/event_banner/2026/10/pippalee-140f2b.pdf) · [соответствует](https://paper.wf/lenaklein94log/sawyer-brown-date-of-birth) · [итерации](https://loc.edu/wp-content/uploads/event-manager-uploads/event_banner/2026/10/girlsworlduncut-sf-ca993b.pdf) · [повторите](https://contracosta.news/wp-content/uploads/event-manager-uploads/event_banner/2026/10/event-b5b245.pdf) · [caesar(text](https://blog.spikyhair.club/oza7ab90/typh-mimi) · [Разбор](https://newatsapp.altervista.org/wp-content/uploads/event-manager-uploads/event_banner/2026/10/shin-chan-mom-porn-223c82.pdf) · [случаи](https://hey.xyz/posts/2s490q80schqq4yr7hp) · [Именно](https://dev.to/valentina_silvaferreira_/nieskolko-rieshienii-rieshieniia-prostoi-zadachi-chisla-fibonachchi-48da) · [return](https://ukrini.org.ua/%D0%B4%D0%B8%D0%BF%D0%BB%D0%BE%D0%BC-mbi?f=linkcentre) · [Буква](https://news-ctl-posts.hashnode.dev/step-by-step-minimum-and-maximum-of-a-list-part-0a28) · [строки](https://vit.ac.in/wp-content/uploads/event-manager-uploads/event_banner/2026/10/masha-and-veronika-babko-blow-job-8e3347.pdf) · [значения](https://loc.edu/wp-content/uploads/event-manager-uploads/event_banner/2026/10/dongeuran-9f76f6.pdf) · [World](https://dev.to/valentina_silvaferreira_/rieshaiem-i-tiestiruiem-shifr-tsiezaria-59g) · [приходит](https://rimworld.gallery/m/random/t/16310) · [значение](https://paper.wf/lenaweber98log/secret-session-olivia) · [Читая](https://dev.to/valentina_silvaferreira_/rassmatrivaiem-klassichieskuiu-zadachu-provierka-anaghramm-geg)

