Уроки 28–29 · 2 урока · М. Р. Файзиева, Д. М. Сайфуров, Н. С. Хайтуллаева. Информатика и информационные технологии, 9 класс. «Nashriyot uyi Tasvir», Ташкент, 2020
29
Работа со строками в Python
Учебник: с. 65–67
ЦельЗнает, что такое строка, соединяет строки с помощью +, повторяет их с помощью *, находит длину с помощью len() и берёт части строки с помощью индекса и среза.
Новые слова
строка: последовательность букв, цифр, знаков и пробелов в кавычках · satrlen(): функция, возвращающая число символов в строке · len()индекс: номер символа в строке; отсчёт начинается с 0 · indeksсрез: часть строки, записывается a[начало:конец:шаг] · kesim
Объяснение
Строка – это последовательность символов в кавычках; пробел тоже является символом. Две строки можно соединить с помощью + (пробел между ними вы ставите сами), а * повторяет строку несколько раз: "Ha" * 3 даёт HaHaHa. len(строка) возвращает число символов. У каждого символа в строке есть номер, его индекс, который начинается с 0: в "TOSHKENT" индекс T равен 0, а O – 1. a[i] – один символ, a[start:end] – часть от start до end, но без символа с индексом end; a[:end] идёт от начала, a[start:] – до конца, а a[start:end:step] берёт символы с шагом. Строку нельзя изменить на месте: создаётся новая строка, а старая остаётся прежней. Многие ошибки возникают из-за того, что забывают: конечный символ не включается.
Примеры
Соединение и длина: a = "Yangi" ⏎ b = "yil" ⏎ c = a + " " + b ⏎ print(c, len(c)) На экране появится Yangi yil 9 (5 + 1 + 3 = 9 символов).
Индекс и срезы: s = "TOSHKENT" ⏎ print(s[0], s[2:5], s[:3], s[4:], s[1:8:3]) Результат: T SHK TOS KENT OKT. Здесь s[1:8:3] берёт символы с индексами 1, 4, 7 (O, K, T).
Работа в классе
«Хирург строк»: каждая пара записывает название своего города (например, SAMARQAND), подписав под ним номера индексов, затем партнёр сначала вручную находит результат среза (например, [3:6]) и проверяет его в IDLE.
Упражнения
1
Чему равно len("kitob" + "xona")?
9
2
Если s = "SAMARQAND", что даёт s[3:6]?
ARQ
3
Напишите программу, которая выводит слово "Ha" 5 раз в одной строке.
print("Ha" * 5)
4
Почему удобно представлять, что индексы начинаются с 0?
Индекс показывает, на сколько шагов символ удалён от начала, а первый символ удалён на 0 шагов.