Обработка символьных строк в Python — тренажёр
Тренировка по теме «Обработка символьных строк в Python»: задачи с меняющимися числами, мгновенная проверка, подсказка и подробный разбор к каждой. Ниже — шпаргалка по теме, разобранные примеры и ответы на частые вопросы.
Тренировка
0/81 В строке 11 символов. Каков индекс её последнего символа?
Выбери ответ и нажми «Проверить». Подсказка рядом — пользоваться не стыдно.
Разбор примеров из тренажёра
15 задач из пула этого тренажёра с полной логикой решения: условие, подсказка, как решать и ответ. В самом тренажёре числа в каждой задаче обновляются от раунда к раунду — принцип решения остаётся тем же.
Пример 1. В строке 9 символов. Каков индекс её последнего символа?
Подсказка. Нумерация начинается с нуля.
Как решать. Символы нумеруются с нуля, поэтому последний индекс на единицу меньше длины: 9 − 1.
Ответ: 8
Пример 2. Сколько символов вернёт срез s[1:8]?
Подсказка. Правая граница в срез не входит.
Как решать. Срез берёт символы с индексами от 1 до 8 − 1, всего 8 − 1 символов.
Ответ: 7
Пример 3. В строке из 11 символов 3 пробелов. Программа выполнила s = s.replace(" ", ""). Сколько символов в новой строке?
Подсказка. Пробелы исчезли целиком.
Как решать. Замена удалила все 3 пробелов, остальные символы остались на месте: 11 − 3.
Ответ: 8
Пример 4. Программа ищет самую длинную цепочку одинаковых символов. В строке идут 6 букв "х" подряд, потом буква "у", потом снова 6 букв "х". Что выведет программа?
Подсказка. В строке три цепочки: две длинные и одна из одного символа.
Как решать. Цепочки такие: 6 букв "х", одна "у" и снова 6 букв "х". Рекорд — 6.
Ответ: 6
Пример 5. В строке 5 символов. Каков индекс её последнего символа?
Подсказка. Нумерация начинается с нуля.
Как решать. Символы нумеруются с нуля, поэтому последний индекс на единицу меньше длины: 5 − 1.
Ответ: 4
Пример 6. Сколько символов вернёт срез s[4:9]?
Подсказка. Правая граница в срез не входит.
Как решать. Срез берёт символы с индексами от 4 до 9 − 1, всего 9 − 4 символов.
Ответ: 5
Пример 7. В строке из 7 символов 1 пробелов. Программа выполнила s = s.replace(" ", ""). Сколько символов в новой строке?
Подсказка. Пробелы исчезли целиком.
Как решать. Замена удалила все 1 пробелов, остальные символы остались на месте: 7 − 1.
Ответ: 6
Пример 8. Программа ищет самую длинную цепочку одинаковых символов. В строке идут 4 букв "х" подряд, потом буква "у", потом снова 4 букв "х". Что выведет программа?
Подсказка. В строке три цепочки: две длинные и одна из одного символа.
Как решать. Цепочки такие: 4 букв "х", одна "у" и снова 4 букв "х". Рекорд — 4.
Ответ: 4
Пример 9. В строке 8 символов. Каков индекс её последнего символа?
Подсказка. Нумерация начинается с нуля.
Как решать. Символы нумеруются с нуля, поэтому последний индекс на единицу меньше длины: 8 − 1.
Ответ: 7
Пример 10. Сколько символов вернёт срез s[2:6]?
Подсказка. Правая граница в срез не входит.
Как решать. Срез берёт символы с индексами от 2 до 6 − 1, всего 6 − 2 символов.
Ответ: 4
Пример 11. В строке 10 символов. Каков индекс её последнего символа?
Подсказка. Нумерация начинается с нуля.
Как решать. Символы нумеруются с нуля, поэтому последний индекс на единицу меньше длины: 10 − 1.
Ответ: 9
Пример 12. В строке из 12 символов 5 пробелов. Программа выполнила s = s.replace(" ", ""). Сколько символов в новой строке?
Подсказка. Пробелы исчезли целиком.
Как решать. Замена удалила все 5 пробелов, остальные символы остались на месте: 12 − 5.
Ответ: 7
Пример 13. Программа ищет самую длинную цепочку одинаковых символов. В строке идут 2 букв "х" подряд, потом буква "у", потом снова 2 букв "х". Что выведет программа?
Подсказка. В строке три цепочки: две длинные и одна из одного символа.
Как решать. Цепочки такие: 2 букв "х", одна "у" и снова 2 букв "х". Рекорд — 2.
Ответ: 2
Пример 14. Сколько символов вернёт срез s[4:8]?
Подсказка. Правая граница в срез не входит.
Как решать. Срез берёт символы с индексами от 4 до 8 − 1, всего 8 − 4 символов.
Ответ: 4
Пример 15. В строке из 7 символов 5 пробелов. Программа выполнила s = s.replace(" ", ""). Сколько символов в новой строке?
Подсказка. Пробелы исчезли целиком.
Как решать. Замена удалила все 5 пробелов, остальные символы остались на месте: 7 − 5.
Ответ: 2
Вопросы для повторения темы
Контрольные вопросы по «Обработка символьных строк в Python» с верными ответами и пояснениями — проверь себя до запуска тренажёра.
Вопрос 1. Строка s = "программирование". Что вернёт s[3]?
Ответ: г
Пояснение. П — символ 0, р — 1, о — 2, г — 3. Четвёртая буква слова живёт по индексу 3.
Вопрос 2. Чему равно len("информатика")?
Ответ: 11
Пояснение. В слове одиннадцать букв: len вернёт 11, а индекс последней буквы — 10.
Вопрос 3. Метод replace возвращает новую строку и не меняет исходную.
Ответ: Верно
Пояснение. Верно: строки в Python неизменяемы, поэтому результат замены кладут обратно — s = s.replace(...).
Вопрос 4. Строка s = "aaabaaa". Какие команды вернут число 6?
Ответ: s.count("a"); len(s) - 1
Пояснение. В строке шесть букв "а" из семи символов: count("a") даёт 6 и len(s) − 1 тоже 6. А count("aa") вернёт 2, find("b") — 3.
Вопрос 5. Расставь шаги шаблона задания 24 в правильном порядке.
Ответ: Завести счётчики k и m, оба равны 1 → Пройти строку со второго символа, сравнивая соседей → При несовпадении соседей сбросить k в 1 → Вывести m
Пояснение. Сначала инициализация счётчиков, затем проход со сравнением соседей, внутри прохода — сброс при разрыве, и только в конце вывод рекорда.
Вопрос 6. Сопоставь команду и её смысл.
Пояснение. Срез берёт кусок, find ищет позицию, split разбирает строку в список, join собирает список в строку.
Вопрос 7. Сколько вернёт "aaaa".count("aa")?
Ответ: 2
Пояснение. count ищет без наложений: первая пара на индексах 0-1, вторая на 2-3 — итого 2, хотя пар при наложении было бы три.
Настройте ритм перед экзаменом: задание дня по информатике — новое каждый день.