Рассматриваем задачу: шифр Цезаря
Разберём задачу, которая встречается практически в каждом учебнике по программированию.
Задача
Реализовать шифр Цезаря: сдвинуть каждую букву строки на фиксированное число позиций в алфавите.
Решение
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:
- Sude Benli nudes, leaks and explicit videos in one gallery
- maryjane3-14-sf
- Два способа решения: среднее значение списка
- Типичные ошибки при решении: максимум и минимум списка
- jjdile OnlyFans Leaks: Hot Guy Touching His Pecs and More
- голые актрисы сериалов
- mikayla campino leaked videos
- скачать торрент сериал мосгаз
- تلعب بكسها
- Shadman Nuns: Tsundereligion Hentai Comics & Futanari Porn
- elif tanyelitan ifşa
- Типичные ошибки при решении: проверка скобочной последовательности
- drippy wallpapers for chromebook
- Медленно и подробно: шифр Цезаря
- shiomelon
- Пошаговый разбор: сумма цифр числа
- エロ 完璧
- miagoeswild
- princess diana belly stuffing
- Два подхода: максимум и минимум списка
- bokep indo segala cara akan dilakukan demi nikmat
- IP Cameras Porn – Hidden & Hacked Streams | Leaked Cams
- Разбираем задачу: максимум и минимум списка
- ella and david porn comic
- Пошаговый разбор: проверка числа на простоту
- احدث افلام سكس عربي