0Pricing
Coding Interview Prep · Урок

Символы, ord и chr: полезные приёмы

Преобразуйте буквы в числа и обратно

«Символы, ord и chr: полезные приёмы» — бесплатный урок Coding Interview Prep на CoddyKit. Это урок 1 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Coding Interview Prep, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Coding Interview Prep содержит 4 уроков всего.

Буквы — это числа

Каждый символ, который считывает программа, внутри хранится как число. Знание его кодовой точки позволяет выполнять арифметические операции с буквами. 🔢

Знакомство с ord()

Функция ord() превращает один символ в его целочисленную кодовую точку. Это мост от букв к арифметике.

print(ord('A'))  # 65
print(ord('a'))  # 97

Знакомство с chr()

Функция chr() выполняет обратное преобразование: получает число и возвращает соответствующий символ. Вместе эти функции образуют удобное преобразование туда и обратно.

print(chr(65))  # 'A'
print(chr(97))  # 'a'

Буквы идут подряд

Главный приём: кодовые точки букв a–z идут подряд, как и кодовые точки A–Z. Поэтому индексировать буквы можно простым вычитанием.

Отображение буквы на диапазон 0–25

Вычтите код базовой буквы, чтобы получить удобный индекс с отсчётом от 0. Так букву можно превратить в позицию массива для подсчёта.

idx = ord('c') - ord('a')
print(idx)  # 2

Преобразование индекса обратно в букву

Для обратного преобразования прибавьте индекс к базовому значению и вызовите chr(). Теперь позиции 0 и 25 превращаются соответственно в 'a' и 'z'.

ch = chr(ord('a') + 2)
print(ch)  # 'c'

Сдвиг буквы: шифр Цезаря

Чтобы сдвинуть букву вперёд, прибавьте величину сдвига, а затем примените остаток от деления по модулю 26. На этом основаны задачи о шифре Цезаря.

shifted = chr((ord('y') - ord('a') + 3) % 26 + ord('a'))
print(shifted)  # 'b'

Заглавные и строчные отличаются на 32

Из-за устройства кодировки каждая заглавная буква находится ровно на 32 позиции ниже своей строчной пары. При необходимости регистр можно изменить одной арифметикой.

print(ord('a') - ord('A'))  # 32

Цифры тоже являются символами

Символ '7' — это не число 7. Вычтите ord('0'), чтобы преобразовать символ цифры в его настоящее числовое значение.

d = ord('7') - ord('0')
print(d)  # 7

Быстрые проверки букв

Для проверок «да» или «нет» методы вроде isalpha() и isdigit() удобнее, чем ручное сравнение кодовых точек.

print('x'.isalpha())  # True
print('5'.isdigit())  # True

Почему это важно в CP

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

Быстрая проверка

Небольшой вопрос об арифметике с буквами.

Повторение

Вы узнали, что ord и chr преобразуют буквы в числа и обратно, а последовательные кодовые точки позволяют простой арифметикой индексировать, сдвигать и проверять символы. 🎉

Часто задаваемые вопросы

Урок «Символы, ord и chr: полезные приёмы» бесплатный?

Да — полный текст урока «Символы, ord и chr: полезные приёмы» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Coding Interview Prep, подпишись на CoddyKit PRO. Курс Coding Interview Prep содержит 4 уроков всего.

Чему я научусь в уроке «Символы, ord и chr: полезные приёмы»?

Преобразуйте буквы в числа и обратно Ты практикуешь Coding Interview Prep с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.

Нужен ли мне опыт, чтобы начать Coding Interview Prep?

Предыдущий опыт не требуется. Coding Interview Prep на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 1 из 4.

Сколько времени занимает урок «Символы, ord и chr: полезные приёмы»?

Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.

Можно ли писать и запускать код в этом уроке Coding Interview Prep?

Да. Каждый урок Coding Interview Prep включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.

Все уроки этого курса

  1. Символы, ord и chr: полезные приёмы
  2. Подсчёт букв с таблицей частот
  3. Правильная проверка палиндромов
  4. Разделение, очистка и повторное объединение слов
← Назад к Coding Interview Prep