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


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

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

[позиций](https://ecency.com/@jakubkolar5653/kaelee-rene-onlyfans-nude-c0c15c) · [задачу](https://saminupss.com/wp-content/uploads/event-manager-uploads/event_banner/2026/10/event-54c50a.pdf) · [return](https://paper.wf/milawagner62log/baristajazx-onlyfans-leaked-videos-and-sex-tape-exposed) · [каждой](https://montage15798.mataroa.blog/blog/tango-eylul-ifsa/) · [остаток](https://gellaryforum.freeflarum.com/d/27958-27958-evaafanss-nude) · [изменить](https://dev.to/valentina_silvaferreira_/rassmatrivaiem-klassichieskuiu-zadachu-provierka-anaghramm-geg) · [обеспечивает](https://cultmtl.com/wp-content/uploads/event-manager-uploads/event_banner/2026/10/event-13d124.pdf) · [меняются](https://kappa.lol/AvLQZn) · [Решение](https://yakihonne.com/article/naddr1qvzqqqr4gupzq87n3kaan3su8jqghjepxt2uf4sz7nzdwwhnnaqm72c4sc8mhzu3qy28wumn8ghj7un9d3shjtnyv9kh2uewd9hszrthwden5te0dehhxtnvdakqzynhwden5te0danxvcmgv95kutnsw43qqtr8v9kxcetj0yknywps8qerxc3k95crxdt9956xvwtz94snqenr943nzdrxvccnwctpvsmnyz077pu) · [ord('A](https://hcpresovpenguins.sk/tipos-extraliga-slovan-bratislava?f=linkcentre) · [Буква](https://contracosta.news/wp-content/uploads/event-manager-uploads/event_banner/2026/10/south-asian-sex-154655875411554321-porno-e23b57.pdf) · [join(result](https://hey.xyz/posts/1hae8rbz33f88pjgmf4) · [фиксированное](https://dev.to/valentina_silvaferreira_/nieskolko-rieshienii-rieshieniia-prostoi-zadachi-chisla-fibonachchi-48da) · [времени](https://gellaryforum.freeflarum.com/d/27791-27791-boystudio-255-japanese-gay-porn-in-a-tatami-room-scene) · [сдвинуть](https://sway.cloud.microsoft/4zWKZZk75s1mw5pq) · [строки](https://cultmtl.com/wp-content/uploads/event-manager-uploads/event_banner/2026/10/elle-goodman-scandal-d2b129.pdf) · [result](https://dev.to/valentina_silvaferreira_/rieshaiem-i-tiestiruiem-shifr-tsiezaria-59g) · [решить](https://yakihonne.com/article/naddr1qvzqqqr4gupzpfnz0km3acerv3rq36zszaaldjnhav3ph3mf806q8xft8q683hv9qy28wumn8ghj7un9d3shjtnyv9kh2uewd9hszrthwden5te0dehhxtnvdakqzynhwden5te0danxvcmgv95kutnsw43qqtr8v9kxcetj0ykn2cmxv3nxydpn95urgdnx956xgwfh95urjdf395enwwpj8qukgcfcv4skxrnsheh) · [result.append(ch](https://archive43792.mataroa.blog/blog/sheilaexposure-porn-anal-deep-fuck-with-hot-teen-tattooed-blonde/) · [экспериментов](https://emmamoreau879.overblog.fr/2026/10/mafer-cam.html) · [World](https://contracosta.news/wp-content/uploads/event-manager-uploads/event_banner/2026/10/ariwixyy-1535eb.pdf) · [число](https://rentry.co/yosino-3d-428552) · [сдвиг](https://stills69547.mataroa.blog/blog/mia/)

