P
pro·school.ru
Каталог школ

Обработка символьных строк

💻 Информатика · 10 класс

Что такое строка

Строка — это последовательность символов, рассматриваемая как единое значение. Символами могут быть буквы, цифры, знаки препинания и пробелы. В программе строки заключают в кавычки: "Информатика". Каждый символ строки имеет номер — индекс, как и в массиве.

Строки нужны для хранения и обработки текста: имён, паролей, предложений, кода. Многие задачи школьной информатики связаны именно со строками — подсчётом символов, поиском подстроки, преобразованием регистра.

Длина и доступ к символам

Длину строки даёт функция len. Обратиться к отдельному символу можно по индексу, начиная с нуля:

s = "школа"
print(len(s)) # 5
print(s[0]) # ш

Срезы

Срез позволяет взять часть строки. Запись s[a:b] возвращает символы с индекса a до b-1:

ВыражениеРезультат для "информатика"
s[0:4]инфо
s[:3]инф
s[-2:]ка

Подсчёт и поиск

Чтобы посчитать, сколько раз символ встречается в строке, проходят по всем символам в цикле:

k = 0
for c in s:
if c == 'а':
k = k + 1

Так подсчитывают гласные, пробелы (число слов), цифры. Для поиска подстроки используют операцию in: выражение "фор" in s даёт «истину», если подстрока встречается.

Преобразования

Строки можно объединять операцией + (конкатенация) и повторять операцией *. Методы upper и lower меняют регистр букв. Важно: строка во многих языках неизменяема — нельзя присвоить отдельному символу новое значение, нужно собрать новую строку.

Сборка новой строки

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

res = ""
for c in s:
if c != ' ':
res = res + c

После цикла в res остаётся строка без пробелов. Тем же приёмом заменяют одни символы на другие или отбирают только буквы определённого вида.

Коды символов

Каждому символу соответствует числовой код в таблице кодировки. Функция ord возвращает код символа, а chr — символ по коду. Это позволяет, например, сдвигать буквы по алфавиту для простого шифрования или проверять, является ли символ цифрой, сравнивая его код с диапазоном кодов цифр.

Частые ошибки. Выход индекса за длину строки. Забывают, что нумерация с нуля и последний символ имеет индекс len(s)-1. Путаница символа '5' и числа 5 — символ нужно преобразовать функцией int. Попытка изменить символ строки на месте в языке, где строки неизменяемы.

Кратко о главном

  • Строка — последовательность символов с доступом по индексу.
  • Длину даёт len, часть строки — срез s[a:b].
  • Подсчёт символов — проход по строке в цикле.
  • Строки часто неизменяемы: правка создаёт новую строку.