Два способа решения: шифр Цезаря
У большинства учебных задач есть минимум два честных решения — сравним их.
Задача
Реализовать шифр Цезаря: сдвинуть каждую букву строки на фиксированное число позиций в алфавите.
Решение
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 обеспечивает «зацикливание» алфавита. Прочие символы не меняются.
Пример работы
Khoor, Zruog!
Сложность
O(n) по времени, O(n) по памяти под результат.
Альтернативный подход
Ту же задачу часто решают иначе: например, через рекурсию вместо цикла или через стандартную библиотеку вместо ручной реализации. Альтернатива обычно короче, но первое «ручное» решение лучше показывает механику работы алгоритма. Полезно написать оба и сравнить на одинаковых тестах.
Выбор между решениями — это баланс читаемости и скорости: для учебной задачи важнее первый.
Related:
- رمضان البرنس الام - صور ومقاطع فيديو
- bhad bhabie onlyfans sex video
- Два способа решения: числа Фибоначчи
- Типичные ошибки при решении: шифр Цезаря
- gweda
- Медленно и подробно: решето Эратосфена
- Jellybean Brain Nude: Jameliz Benitez Smith Social Media Star Gallery
- Ловушки новичков при решении: шифр Цезаря
- heliots
- Частые ошибки при решении: проверка анаграмм
- 2008 volvo c30 safety rating
- Solving and testing factorial computation
- https://paper.wf/katyaschulz95log/nofacepetite-nude
- Hot teacher fucked in classroom
- Step-by-step: minimum and maximum of a list
- Медленно и подробно: бинарный поиск
- Шаг за шагом: подсчёт частот слов
- Ngintip Hijab Pipis: Video Cewek Cantik Berjilbab di WC
- eva elfie car
- cayleependerass
- Sana Dark Night Elf Gallery - FF7 Tifa Dark Elf Fantasy Art
- 한국 야돗
- video prono amateur
- 小蓝视频gv
- 绿格子衬衫教室
- Пишем решение с тестами: вычисление факториала
- Проверяем решение тестами: максимум и минимум списка