Тема 6 · Информатика

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

Индексы и срезы, длина строки, поиск и подсчёт вхождений, циклы по символам, сборка новой строки. 100 заданий на отработку.

0
Решено
0
Правильно
0%
Точность

Простыми словами

Строка — это бусы из символов. Каждая бусина имеет номер — индекс, и считать начинают с нуля. Можно взять одну бусину, отрезать кусок (срез) или склеить новые бусы из кусков.

РЕКУРСИЯ 01234567 −8−7−6−5−4−3−2−1 s[1:5] = «ЕКУР» — индекс 5 не входит www.reknow.ru
Длина 8, индексы от 0 до 7; — последний символ «Я»

У строки длины индексы от до . len(s) — длина; индекс последнего символа равен len(s) - 1. Отрицательный индекс считается с конца: s[-1] — последний символ.

s = "АЛГОРИТМ". Индекс первой буквы «Т»?

  1. А0 Л1 Г2 О3 Р4 И5 Т6 М7 — ответ 6 (а не 7: счёт с нуля).
  2. len(s) , индекс последнего символа .

Срезы

ЗаписьЧто даёт
s[a:b]символы с индексами — правая граница не входит
s[:b]начало строки до индекса
s[a:]хвост, начиная с индекса
s[::-1]строка в обратном порядке
если границы внутри строки

s = "ПЕРЕМЕННАЯ", print(s[6:9])

  1. П0 Е1 Р2 Е3 М4 Е5 Н6 Н7 А8 Я9.
  2. Берём индексы 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 sTrue, если встречается в
  1. "ИНФОРМАТИКА".find("КА"): И0 Н1 Ф2 О3 Р4 М5 А6 Т7 И8 К9 А10 — ответ 9 (индекс начала подстроки).
  2. "ПРОЦЕССОР".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

  1. Идём по буквам: М, О, Н, И, Т, О, Р.
  2. Гласные дописываются по порядку: t = ОИО. Если вместо сборки считать k = k + 1, получится 3.

Проверка на палиндром — одной строкой: s == s[::-1].

Серия: 0
Учителю

Готовые работы по теме

Собраны заранее — одним нажатием: распечатать с ключом, раздать ученикам ссылкой или QR-кодом, поменять настройки. Номер набора постоянный: по этой ссылке всегда та же работа.

Самостоятельная

10 заданий · 2 варианта · с ключом

РаспечататьРаздать ссылкойИзменить

Контрольная

15 заданий · онлайн, 40 минут

РаспечататьРаздать ссылкойИзменить

Диагностика перед темой

8 заданий · 15 минут

РаспечататьРаздать ссылкойИзменить

теория этой темы, 8 заданий по подтемам и ключ — файлом DOCX, который можно править под себя.

Учителю о теме

Что проверяется

  • Срез строки
  • Длина строки
  • Поиск подстроки
  • Число вхождений символа
  • Цикл по строке
  • Преобразование строки
  • Индекс последнего символа
  • Индекс символа
  • Символ по индексу
  • Отрицательный индекс
  • Строки: понятия и методы

Содержание

На бумаге — не больше 25: дальше лист перестаёт быть работой на урок. Онлайн — до 40.

Не нравится задание в собранном листе — нажмите «заменить» под ним: вместо него встанет другое из той же подтемы.

Варианты

Разные задания при одинаковом наборе тем и одинаковом числе заданий.

Прохождение онлайн

Имя ученика никуда не отправляется: он вводит только номер по списку, а таблицу «номер → фамилия» видите только вы.

Оценка
Печать

Собранный лист можно скачать файлом Word — кнопка «Скачать DOCX» над листом: задания, место под решение и ключ, всё редактируется.

Печатается над каждым вариантом. Хранится только в этом браузере, в ссылку не попадает.

По одному и тому же номеру собирается та же работа — ссылку можно сохранить и вернуться к ней позже.