Перейти к содержанию
MediaSchool

Символьные данные. Посимвольная обработка строк

Строковая переменная, длина строки, символ и индекс; основные встроенные средства работы со строками. Практика: посимвольно подсчитать частоту заданного символа, затем сопоставить результат со встроенной функцией или методом. Проверить пустую строку, отсутствие символа, повторения и различие регистра.

Открыт · Презентация · Методичка · Рабочий лист

Конспект урока

Читать строку, определять её длину, безопасно обращаться по индексу и обрабатывать символы по одному; проверять пустую строку, пробел и регистр.

В Python 3 str — неизменяемая последовательность кодовых точек Unicode. В основных задачах строки длиной 0…40 состоят из обычных одиночных латинских/русских букв, десятичных цифр и пробела; составные знаки и эмодзи не рассматриваются. Поэтому считаемые элементы здесь совпадают с привычными символами. len(s) — число элементов; неотрицательные индексы от 0 до len(s)−1. Индекс за границей даёт IndexError. У пустой строки нет первого/последнего элемента. for ch in s перебирает элементы слева направо, для пустой строки тело пропущено. s[i] нельзя присвоить новый символ: новую строку собирают в другой переменной, например t=t+ch. input() читает строку без завершающего перевода строки, сохраняя пробелы; strip не применяем. Ввод пустой строки — нажать Enter. Регистр учитывается: латинские a и A различаются. В A2 удаляем только обычный пробел, не все возможные пробельные символы.

Для работы достаточно бумаги, ручки и памятки. Сохраняй первую попытку; исправления отмечай другим знаком.

Безопасное начало

Сухие руки, без напитков у техники. Провода и разъёмы не трогай, о неисправности сообщи учителю. Работай по правилам кабинета. Две полные минуты в середине урока — без экрана и заданий. Внешний ИИ, аккаунты и личные данные не требуются.

Что уже нужно знать

Python 3: input возвращает строку; присваивание, if, счётчик, for. Урок 29: перебор значений и range. Новые операции со строкой объяснены в памятке.

S0. В чём различие между числом 12 и строкой "12"? Что даёт input() без преобразования int?

Устная проба без отметки.

Строка и последовательный обход

Первый индекс 0, последний len(s)−1. У пустой строки нет элемента с индексом 0. for ch in s перебирает элементы слева направо. Счётчик начинается с 0; новая строка t — с "". t=t+ch добавляет в конец. Проверяй пустой вход, регистр и пробел. Основной алфавит — одиночные буквы, цифры и обычный пробел.

ОперацияСмысл
len(s), s[i]Длина и элемент по индексу
for ch in sОбход по одному элементу
t=t+chПостроение новой строки

0…40 элементов. input сохраняет пробелы, Enter даёт пустую строку. Латинская a отличается от A и кириллической а. Индекс проверять до обращения. Памятка разрешена.

Концептуальная иллюстрация. Точные данные определены условиями, таблицами и схемами; предметы на рисунке не являются входными данными.

Личная проба

C1. Python 3: s="код". Найди len(s), s[0], s[2]. Есть ли допустимый индекс 3?

Одна минута лично, затем две на разбор. Памятка разрешена.

Длина и индекс на другой строке

Модель s="луна": длина 4, индексы 0,1,2,3; s[1] — у. Если считать букву н, счётчик по шагам 0,0,1,1. В A1 другая буква и другие входы.

A1. Код ниже считает латинскую строчную a. Предскажи вывод для banana, отдельно sky и пустой строки. Один случай запусти, остальные проверь вручную.

s = input()
k = 0
for ch in s:
    if ch == "a":
        k = k + 1
print(k)

Заготовка для своей записи:

Буквы banana по порядкуСчётчик после букв
b,a,n
a,n,a

Сначала своя запись и основание, затем сверка.

Полная пауза

Две минуты без проекции, чтения, вычислений и обсуждения. Отведи взгляд и смени позу.

Построение без изменения исходника

Модель: удалить дефисы из s="а-б". Начально t=""; буква а даёт t="а", дефис пропускается, буква б даёт t="аб". Условие ch!="-". В A2 нужно другое условие для пробела.

A2. Составь код удаления всех обычных пробелов: прочитать s; t=""; для каждого ch из s добавлять ch к t, только если ch!=" "; вывести t после цикла. Проверь строку «а б в» без кавычек (между б и в два пробела), затем пустую. Один случай на ПК, второй вручную.

Заготовка для своей записи:

ВходМоя новая строка
а б в
Пустая строка

Семь минут: три на свои трассы, три на исправление/проверку, одна на сверку. В коротком варианте — шесть минут.

Концептуальная иллюстрация. Точные данные определены условиями, таблицами и схемами; предметы на рисунке не являются входными данными.

Индекс требует непустого входа

Модель s="ок": длина 2, последний индекс 1. Для пустой строки длина 0, ни один индекс не допустим. До чтения края нужно проверить len(s)>0.

ВходМожно читать края?
НепустойДа, индексы 0 и len(s)−1
ПустойНет, отдельный ответ

B1. Код print(s[0],s[len(s)-1]) должен показать края непустой строки, но s может быть пустой. Предскажи результат для s="" и исправь с if: при пустой вывести «пусто». Проверь также s="я".

Три минуты на свою попытку, затем одна минута на сверку основания. Допустимы разные корректные решения.

Проверка вымышленного ответа ИИ

AI1. Вымышленный ИИ для s="кот" предлагает for i in range(1,len(s)+1): print(s[i]). Выпиши напечатанные буквы до ошибки и недопустимый индекс. Исправь диапазон для печати всех букв по порядку.

Это заранее составленный учебный пример. Самостоятельно проверь конкретный шаг; обращение к сервису не требуется.

Помощь и резерв

  • Нумерует с 1. Подпиши 0 под первой буквой.
  • Берёт индекс длины. Последний индекс на 1 меньше.
  • Стирает пробелы автоматически. input их сохраняет; удаление — наша программа.
  • Путает a/A/а. Проверь алфавит и регистр.

D1. Резерв. Начально t="". Для каждого ch строки s="абв" выполнять t=ch+t. Выпиши t после шагов и объясни отличие от t=t+ch.

D1 — 3–4 минуты для быстро справившихся после основной работы; иначе отдельный резерв следующего занятия. H1, весь тест и шесть новых случаев не складываются в одно обязательное домашнее задание.

Индивидуальный итог

Четыре полные минуты лично. Условия заранее на бумаге. Памятка и разобранные модели разрешены; ключи и веб-разбор закрыты. Учитель не даёт учебных подсказок. Сбор после четырёх минут.

E1. Python 3: s="мир". Найди len(s) и s[1].

E2. Python 3: k=0; for ch in s: если ch=="a", k=k+1; затем print(k). Вход s="Aa" (латинские буквы). Сколько напечатает и почему?

E3. Для пустой строки алгоритм t=""; for ch in s: t=t+ch; затем print(t). Сколько итераций и какая итоговая t?

Разбор после своей попытки

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

Материалы и самопроверка

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

Самопроверка на сайте: шесть вопросов с пояснениями, отдельно 5–7 минут. Бумажная версия с письменными основаниями и разбором — 8–12 минут. Все шесть новых письменных случаев — ещё 8–10 минут; выбирай прежде всего случай к своей ошибке. Эти модули не прибавляют к основным 45 минутам и не задаются целиком вместе с H1 автоматически. Пояснения и новые случаи для бумажного разбора есть в плане учителя.

Домашний перенос

H1. Домой 5–7 минут, ПК необязателен. 1) Посчитай латинские строчные o в robot. 2) Удали обычный пробел из «кот пёс» без кавычек. Для каждого задания запиши состояния счётчика или новой строки по буквам.

Полное условие и памятка есть на листе. Решение запиши в тетради. Достаточно 5–7 минут с сохранённой опорой.

Источники

ФРП2025: содержание 8 класса с.10 и планирование с.35–37 — язык и система программирования, данные, ввод/вывод, составление и проверка программ. Python 3 выбран как один из языков, допускаемых программой; часы и последовательность КТП сохранены. Учебник школы не указан; номера параграфов не назначены.

Самопроверка

Проверь себя

6 вопросов по теме «Посимвольная обработка строк: самопроверка». Выбери ответ, прочитай объяснение и попробуй ещё раз, если ошибся.

Открыть отдельно

Вопрос 1 из 6

Тренировка
Python 3: s="дом". Чему равно s[0]?

Без отметки и ограничения времени. Первый ответ учитывается отдельно от исправлений. При обновлении страницы ответы сбросятся.

Скачать и открыть

Материалы урока

6 материалов

Подготовка к уроку

2 материала

Рабочие листы и практика

3 материала

Проверка знаний

1 материал

От сообщества

Материалы сообщества0

Дополнения от учителей к этому уроку. Проверены модерацией, но не являются редакционным контентом MediaSchool.

Поделиться материалом

Поделитесь первым материалом

Рабочий лист, презентация или методичка помогут другим учителям подготовиться к уроку.

Комментарии

Войдите, чтобы оставлять комментарии.

Пока нет комментариев. Будьте первым!