Обработка символьных строк
💻 Информатика · 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]. - Подсчёт символов — проход по строке в цикле.
- Строки часто неизменяемы: правка создаёт новую строку.