# Exploring the Caesar cipher (part 6e1c)

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

## Задача

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

## Решение

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


Это решение удобно как отправная точка для экспериментов: попробуйте изменить входные данные и проследить за поведением кода.

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

[join(result](https://news-ctl-posts.hashnode.dev/understanding-string-reversal-part-dd8a) · [Цезаря](https://discuss.tchncs.de/post/65439672) · [caesar(text](https://www.sfahba.com/wp-content/uploads/event-manager-uploads/event_banner/2026/10/event-b007e2.pdf) · [входные](https://4l.pics/vaaviviz?f=instapaper) · [Khoor](https://gitlab.com/chuongnhuhoa/trusrewre/-/blob/main/articles/merge-sort-dva-sposoba-mvd8puat.md) · [строки](https://discuss.tchncs.de/post/65439490) · [ch.isalpha](https://loc.edu/wp-content/uploads/event-manager-uploads/event_banner/2026/10/gamze-acet-a4d780.pdf) · [Предлагаю](https://radicle.network/nodes/seed.pipapo.org/rad%3AzST7AwkbLQXgktAqZD1VLeWKTirb/issues/2f811b6e35f221192f72edd837fbe6b97572880c) · [символы](https://artofhosting.org/wp-content/uploads/event-manager-uploads/event_banner/2026/10/seabunnie-86ea78.pdf) · [проследить](https://dev.to/valentina_silvaferreira_/nieskolko-rieshienii-rieshieniia-prostoi-zadachi-chisla-fibonachchi-48da) · [python](https://paper.wf/elenakrause96log/gu-ling-xi) · [номер](https://stills79534.mataroa.blog/blog/4d1-ad-e4e/) · [отправная](https://dev.to/valentina_silvaferreira_/rieshaiem-i-tiestiruiem-shifr-tsiezaria-59g) · [сдвиг](https://ecency.com/@lukasfiala2580/tanababyxo-onlyfans-14f985) · [букву](https://ecency.com/@karelcerny7473/watch-xxx-video-indian-chudai-desi-bhabhi-ki-chudai-0cbfe2) · [работает](https://dev.to/valentina_silvaferreira_/rassmatrivaiem-klassichieskuiu-zadachu-provierka-anaghramm-geg) · [ord('A](https://loc.edu/wp-content/uploads/event-manager-uploads/event_banner/2026/10/starsessions-ml-972b15.pdf) · [остаток](https://avdc.org/wp-content/uploads/event-manager-uploads/event_banner/2026/10/yandex-altyaz-l-b74bae.pdf) · [сдвинуть](https://cultmtl.com/wp-content/uploads/event-manager-uploads/event_banner/2026/10/spip-sarka-spip-collectif-sarka-spip-gpl-297839.pdf) · [return](https://sway.cloud.microsoft/0X2dPYdzyNYODjgj)

