Тема 6 · Информатика
Обработка символьных строк
Индексы и срезы, длина строки, поиск и подсчёт вхождений, циклы по символам, сборка новой строки. 100 заданий на отработку.
Простыми словами
Строка — это бусы из символов. Каждая бусина имеет номер — индекс, и считать начинают с нуля. Можно взять одну бусину, отрезать кусок (срез) или склеить новые бусы из кусков.
У строки длины индексы от до . len(s) — длина; индекс последнего символа равен len(s) - 1. Отрицательный индекс считается с конца: s[-1] — последний символ.
s = "АЛГОРИТМ". Индекс первой буквы «Т»?
- А0 Л1 Г2 О3 Р4 И5 Т6 М7 — ответ 6 (а не 7: счёт с нуля).
- len(s) , индекс последнего символа .
Срезы
| Запись | Что даёт |
|---|---|
s[a:b] | символы с индексами — правая граница не входит |
s[:b] | начало строки до индекса |
s[a:] | хвост, начиная с индекса |
s[::-1] | строка в обратном порядке |
s = "ПЕРЕМЕННАЯ", print(s[6:9])
- П0 Е1 Р2 Е3 М4 Е5 Н6 Н7 А8 Я9.
- Берём индексы 6, 7, 8: ННА (длина ).
s = "РЕКУРСИЯ", t = s[3:] + s[:3]: s[3:] = «УРСИЯ», s[:3] = «РЕК», t = УРСИЯРЕК.
Индексы — это «перегородки» между символами: s[1:5] — от перегородки 1 до перегородки 5. Тогда и длина видна сразу.
Методы и операции
| Операция | Результат |
|---|---|
s + t | конкатенация — строки склеиваются |
s * k | строка повторена раз |
s.find(t) | индекс первого вхождения , или , если его нет |
s.count(t) | число непересекающихся вхождений |
s.replace(t, u) | новая строка, где все заменены на |
s.upper() / s.lower() | верхний / нижний регистр |
t in s | True, если встречается в |
- "ИНФОРМАТИКА".find("КА"): И0 Н1 Ф2 О3 Р4 М5 А6 Т7 И8 К9 А10 — ответ 9 (индекс начала подстроки).
- "ПРОЦЕССОР".count("С") .
Строки в Python неизменяемы: s[0] = "А" вызовет ошибку, а s.replace("а", "о") не меняет — возвращает новую строку, её нужно сохранить: s = s.replace("а", "о").
Перебор символов и сборка строки
for c in s: перебирает символы, for i in range(len(s)): — их индексы. Новую строку собирают, начиная с пустой: t = "", затем t = t + c.
s = "МОНИТОР"; t = ""for c in s: if c in "АЕЁИОУЫЭЮЯ": t = t + c
- Идём по буквам: М, О, Н, И, Т, О, Р.
- Гласные дописываются по порядку: t = ОИО. Если вместо сборки считать
k = k + 1, получится 3.
Проверка на палиндром — одной строкой: s == s[::-1].
Где это пригодится: ЕГЭ — 1 заданиеЗадания экзамена 11 класса, которые опираются на этот материал — нажмите, чтобы раскрыть список
Готовые работы по теме
Собраны заранее — одним нажатием: распечатать с ключом, раздать ученикам ссылкой или QR-кодом, поменять настройки. Номер набора постоянный: по этой ссылке всегда та же работа.
теория этой темы, 8 заданий по подтемам и ключ — файлом DOCX, который можно править под себя.
Прохождение онлайн
Имя ученика никуда не отправляется: он вводит только номер по списку, а таблицу «номер → фамилия» видите только вы.
Классы, выданные работы и результаты учеников по кодам — в журнале учителя: без регистрации, хранится только на этом компьютере.