В задачах на строки важно определить не только получившийся текст, но и то, что именно выводит `print`. Строка печатается без окружающих её кавычек, а при выводе списка строк кавычки видны.
Начните с четырёх разборов, затем предскажите вывод восьми самостоятельных фрагментов Python 3. Каждый фрагмент запускается отдельно и не наследует переменные предыдущего.
Что помнить о строковых операциях
Индексы начинаются с 0; в срезе правая граница исключена. Строки не изменяются на месте: например, `lower` и `replace` возвращают новую строку. Описание строковых операций есть в документации Python.
При записи ответа учитывайте каждую строку вывода и пробелы между словами. Не добавляйте кавычки к напечатанной строке только потому, что они стояли вокруг неё в коде.
Четыре разбора символов и преобразований
1. Первый и последний символы
Предскажите точный вывод этого самостоятельного фрагмента Python 3.
«`python s = ‘домик’ print(s[0]) print(s[-1])
«`
Индекс 0 выбирает первый символ, а −1 — последний. Два вызова `print` дают две строки.
«`text д к
«`
2. Срез внутри слова
Предскажите точный вывод этого самостоятельного фрагмента Python 3.
«`python s = ‘котёнок’ print(s[1:4])
«`
Берём символы с индексами 1, 2 и 3. Символ с индексом 4 в срез не входит.
«`text отё
«`
3. Пробелы по краям
Предскажите точный вывод этого самостоятельного фрагмента Python 3.
«`python s = ‘ снег ‘ print(s.strip())
«`
`strip()` убирает пробелы по краям строки. В результате печатается слово без начальных и конечных пробелов.
«`text снег
«`
4. Новый регистр и исходная строка
Предскажите точный вывод этого самостоятельного фрагмента Python 3.
«`python s = ‘ЗиМа’ print(s.lower()) print(s)
«`
Первый вызов выводит новую строку со строчными буквами. Переменная `s` по-прежнему содержит исходное написание, которое печатается второй строкой.
«`text зима ЗиМа
«`
Восемь задач на обработку текста
Предскажите точный вывод каждого самостоятельного фрагмента. Ключи находятся ниже всех условий.
5. Заглавные буквы
«`python s = ‘день’ print(s.upper())
«`
6. Подсчёт подстроки
«`python s = ‘снег снегирь’ print(s.count(‘снег’))
«`
7. Замена подстроки
«`python s = ‘дом домик’ print(s.replace(‘дом’, ‘сад’))
«`
8. Разделение по запятой
«`python s = ‘чай,сок,вода’ print(s.split(‘,’))
«`
9. Соединение слов
«`python words = [‘лес’, ‘снег’, ‘дом’] print(‘ / ‘.join(words))
«`
10. Проверка начала и конца
«`python s = ‘снежинка’ print(s.startswith(‘сне’)) print(s.endswith(‘ка’))
«`
11. Длина слова
«`python s = ‘зима’ print(len(s))
«`
12. Обратный порядок
«`python s = ‘лист’ print(s[::-1])
«`
Ответы к задачам 5–12
5. Результат `upper`
«`text ДЕНЬ
«`
`upper()` возвращает строку с заглавными буквами; именно она передана в `print`.
6. Два вхождения
«`text 2
«`
Подстрока «снег» есть и как отдельное слово, и внутри слова «снегирь». `count` в этом примере учитывает оба вхождения.
7. Замена двух частей
«`text сад садик
«`
Без указанного числа замен `replace` заменяет оба вхождения «дом», включая начало слова «домик». Исходная строка при этом не изменяется на месте.
8. Список после разделения
«`text [‘чай’, ‘сок’, ‘вода’]
«`
Запятая задана разделителем. Результат — список из трёх строк, поэтому в его выводе присутствуют скобки, кавычки и запятые.
9. Разделитель между элементами
«`text лес / снег / дом
«`
`join` вставляет строку ` / ` между соседними элементами. Пробелы с обеих сторон косой черты входят в разделитель.
10. Два истинных условия
«`text True True
«`
«Снежинка» начинается на «сне» и заканчивается на «ка». Оба результата истинны и выводятся в Python как `True`.
11. Четыре символа
«`text 4
«`
В этой строке четыре обычные кириллические буквы: з, и, м, а. Для неё `len(s)` возвращает 4.
12. Срез с отрицательным шагом
«`text тсил
«`
Шаг −1 перебирает символы этой строки с конца к началу: т, с, и, л.
Для знакомства ребёнка с другими возможностями обучения пригодится статья «Как научить ребёнка программированию бесплатно».