# Exploring the Caesar cipher

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

## Задача

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

## Решение

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


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

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

[ord('A](https://furukawalima.com/manvi+chugh?f=instapaper) · [работает](https://articlescad.com/ya-l-kad-n-am-resimleri-olgun-kad-n-plak-foto-raflar-413766.html) · [экспериментов](https://paste2.org/OCaDvXKG) · [ord('a](https://kappa.lol/AqXk8J) · [результат](https://milhench.com/wp-content/uploads/event-manager-uploads/event_banner/2026/11/event-c68ec3.pdf) · [удобно](https://loc.edu/wp-content/uploads/event-manager-uploads/event_banner/2026/11/princess-tiana-aesthetic-wallpaper-fe28d9.pdf) · [поведением](https://yakihonne.com/article/naddr1qvzqqqr4gupzq04mjmmzg79lahcfyvfdqu37tf37pp0s5cpva6cad65v5mj0p9l4qy28wumn8ghj7un9d3shjtnyv9kh2uewd9hszrthwden5te0dehhxtnvdakqzynhwden5te0danxvcmgv95kutnsw43qqtr8v9kxcetj0ykkxdekxqcrgdes94nxxwty956rzv3494snzvpk95cnqvpkx9nr2deevcerz6ex8ua) · [сдвинуть](https://rentry.org/fkk-boys-baikal-856778) · [символы](https://publicsecgov.org/wp-content/uploads/event-manager-uploads/event_banner/2026/11/event-fd2f31.pdf) · [памяти](https://loc.edu/wp-content/uploads/event-manager-uploads/event_banner/2026/11/delettraaoficial-sex-4c24b9.pdf) · [алфавита](https://trentonmonitor.com/submit-an-event/#pending) · [алфавите](https://dev.to/valentina_silvaferreira_/nieskolko-rieshienii-rieshieniia-prostoi-zadachi-chisla-fibonachchi-48da) · [переводится](https://gallery85059.mataroa.blog/blog/wallpaper-of-beautiful-birds/) · [объяснением](https://vit.ac.in/wp-content/uploads/event-manager-uploads/event_banner/2026/11/amichun-10cfcc.pdf) · [число](https://vit.ac.in/wp-content/uploads/event-manager-uploads/event_banner/2026/11/belinda-stewart-wilson-tits-3a4e34.pdf) · [зацикливание](https://mandersen69.wixsite.com/my-site-1/post/%D8%B3%D9%83%D8%B3-%D9%85%D8%AA%D8%AD%D8%B1%D9%83-%D9%82%D8%B0%D9%81) · [вместе](https://avdc.org/wp-content/uploads/event-manager-uploads/event_banner/2026/11/kventinas-naomi-081d46.pdf) · [входные](https://dev.to/valentina_silvaferreira_/rieshaiem-i-tiestiruiem-shifr-tsiezaria-59g) · [join(result](https://vit.ac.in/wp-content/uploads/event-manager-uploads/event_banner/2026/11/annie-rivieccio-videos-c940fb.pdf) · [Реализовать](https://vit.ac.in/wp-content/uploads/event-manager-uploads/event_banner/2026/11/ririsu-amano-c81141.pdf) · [отправная](https://loc.edu/wp-content/uploads/event-manager-uploads/event_banner/2026/11/kannada-sex-video-song-c55aeb.pdf) · [времени](https://publicsecgov.org/wp-content/uploads/event-manager-uploads/event_banner/2026/11/secretstars-lilu-videos-1d3f6f.pdf) · [строки](https://mycommunitycalendars.com/wp-content/uploads/event-manager-uploads/event_banner/2026/11/event-13317d.pdf) · [спешки](https://dev.to/valentina_silvaferreira_/rassmatrivaiem-klassichieskuiu-zadachu-provierka-anaghramm-geg) · [решить](https://github.com/ozalopa956-cloud/text-normalize-py/issues/2)

