Рядковий тип даних
Нова українська школа
Урок 42
Інформатика 7
teach-inf.com.ua
за підручником
Бондаренко О.О. та ін.
Рядковий тип даних
Багато задач програмування пов’язані з опрацюванням текстових даних:
© Вивчаємо інформатику teach-inf.com.ua
Розділ 5
§ 33
Рядковий тип даних
Для опрацювання текстових даних у Python існує тип даних str (від англ. string — рядок).
Значення величини типу str — це довільна послідовність (рядок) символів.
Рядкові константи в Python записують в:
одинарних лапках
подвійних лапках
' '
'' ''
або
Початок і кінець рядка мають бути в лапках одного виду.
© Вивчаємо інформатику teach-inf.com.ua
Розділ 5
§ 33
Коди символів
Усі символи (літери, цифри, знаки пунктуації тощо) утворюють так звану таблицю символів. Кожний символ у ній має свій номер – код.
Код символу можна визначити за допомогою функції ord():
© Вивчаємо інформатику teach-inf.com.ua
Розділ 5
§ 33
Коди символів
Дізнатися, який символ відповідає певному коду, можна за допомогою функції chr():
Великі й малі літери, літери англійського й українського алфавітів із подібним написанням мають різні коди.
© Вивчаємо інформатику teach-inf.com.ua
Розділ 5
§ 33
Коди символів
Величини будь-якого типу можна перетворити на рядок за допомогою функції str():
© Вивчаємо інформатику teach-inf.com.ua
Розділ 5
§ 33
Нумерація символів у рядку
До символу в рядку можна звертатися за індексом, зазначивши його у квадратних дужках. Розгляньмо приклади.
У текстовому рядку важливим є порядок символів. У рядку кожний символ має порядковий номер – індекс. Нумерація починається з нуля.
Програмний код
Результат
Ч
а = 'Червона калина'
print(а[0])
Надрукуємо першу літеру рядка Червона калина:
© Вивчаємо інформатику teach-inf.com.ua
Розділ 5
§ 33
Нумерація символів у рядку
Відлік символів можна починати з кінця рядка. У цьому випадку індекси починаються з -1 (останній символ).
Програмний код
Результат
и
а = 'Червона калина'
print(а[-3])
Надрукуємо третю з кінця літеру рядка Червона калина:
© Вивчаємо інформатику teach-inf.com.ua
Розділ 5
§ 33
Нумерація символів у рядку
Присвоїмо змінній b символ рядка а з індексом 8, змінній x символ рядка а з індексом 10:
Програмний код
Результат
к
л
а = 'Червона калина'
b = а [8]
x = а [10]
print(b)
print(x)
© Вивчаємо інформатику teach-inf.com.ua
Розділ 5
§ 33
Нумерація символів у рядку
Функція len() повертає кількість символів, із яких утворено рядок.
Синтаксис функції:
змінна цілого типу для збереження значення, яке повертає функція;
k
k = len(s)
s
рядок, довжину якого потрібно визначити.
© Вивчаємо інформатику teach-inf.com.ua
Розділ 5
§ 33
Нумерація символів у рядку
Визначимо довжину рядка Червона калина:
Програмний код
Результат
14
a = 'Червона калина'
print(len(a))
Пропуск теж є символом, тому довжина рядка дорівнює 14.
© Вивчаємо інформатику teach-inf.com.ua
Розділ 5
§ 33
Отримання зрізів
З рядка можна отримати не лише символ, а й зріз (частину символів рядка). Зріз із суміжних символів — це підрядок. Використання зрізів дозволяє отримувати підрядки за одну дію. Команда добування зрізу з рядка:
z = s[i:j:step]
змінна, в яку зберігається підрядок рядка s;
z
індекс початку зрізу;
і
індекс його закінчення (причому символ із номером j у зріз не входить);
j
крок, з яким вибираються символи.
step
© Вивчаємо інформатику teach-inf.com.ua
Розділ 5
§ 33
Отримання зрізів
Якщо символи вибираються підряд, то параметр step можна опустити. Якщо відсутній індекс початку зрізу, то зріз береться від 0-го до (j-1)-гo символу. За відсутності індексу закінчення зрізу зріз береться від і-го символу до кінця рядка.
Скопіюємо з рядка а підрядок Червона:
Програмний код
Результат
Червона
a = 'Червона калина'
print(a[:7])
© Вивчаємо інформатику teach-inf.com.ua
Розділ 5
§ 33
Отримання зрізів
Скопіюємо з рядка а підрядок калина:
Програмний код
Результат
калина
a = 'Червона калина'
print(a[8:])
Скопіюємо з рядка а символи з парними індексами:
Програмний код
Результат
Чроаклн
a = 'Червона калина'
print(a[::2])
© Вивчаємо інформатику teach-inf.com.ua
Розділ 5
§ 33
Отримання зрізів
Рядки – це незмінювані послідовності. При спробі змінити символ усередині рядка виникне помилка.
© Вивчаємо інформатику teach-inf.com.ua
Розділ 5
§ 33
Отримання зрізів
Запишемо символи рядка а у зворотному порядку:
Програмний код
Результат
анилак ановреЧ
a = 'Червона калина'
print(a[::-1])
nohtyP
a = 'Python'
print(a[::-1])
© Вивчаємо інформатику teach-inf.com.ua
Розділ 5
§ 33
Перегляд символів у рядку
Під час опрацювання рядкових величин буває потрібно перевірити, чи є певний підрядок у рядку. Для цього в Python існує оператор in, який:
якщо підрядок
наявний у рядку
якщо підрядок
відсутній у рядку
повертає True
повертає False
Програмний код
Результат
True
print('y' in 'Python')
© Вивчаємо інформатику teach-inf.com.ua
Розділ 5
§ 33
Перегляд символів у рядку
За допомогою циклу for можна вивести рядок по літерах:
Програмний код
Результат
P
y
t
h
o
n
a = 'Python'
for c in a:
print(c)
© Вивчаємо інформатику teach-inf.com.ua
Розділ 5
§ 33
Операції конкатенації і дублювання
Об’єднання двох або більше рядків в один рядок називають конкатенацією. Цю операцію позначають символом:
+
Об’єднаємо рядкові змінні а і b, додавши між ними пропуск.
Програмний код
Результат
Богдан Хмельницький
a = 'Богдан'
b = 'Хмельницький'
c = a+ ' ' +b
print(c)
© Вивчаємо інформатику teach-inf.com.ua
Розділ 5
§ 33
Операції конкатенації і дублювання
Дублювання – це повторення текстового фрагмента задану кількість разів. Цю операцію позначають символом:
*
Повторимо символ «-» 20 разів.
--------------------
c = '-' * 20
print(c)
Повторимо символи «:-)» 5 разів.
:-):-):-):-):-)
c = ':-)' *5
print(c)
© Вивчаємо інформатику teach-inf.com.ua
Розділ 5
§ 33
Операції конкатенації і дублювання
Потроїмо кожний символ рядка s.
Програмний код
Результат
111222333444555
s = '12345'
s1 = ''
for i in s:
s1 = s1+i*3
print(s1)
© Вивчаємо інформатику teach-inf.com.ua
Розділ 5
§ 33
Ознайомтеся з цікавою інформацією
Американська розробниця програмного забезпечення
Радія Джой Перлман стала першою, хто почав навчати програмування дітей
молодшого віку.
Вона розробила дитячу версію навчальної робототехнічної
мови LOGO.
© Вивчаємо інформатику teach-inf.com.ua
Розділ 5
§ 33
Питання для самоперевірки
Визначте довжину рядка s і індекс літери 'Р'.
а) перші вісім символів;
б) останні чотири символи;
в) символи з індексами, кратними трьом.
a) S = 'інформатика' 🡪 ? 🡪 S1 = 'форма'
б) S = 'інформатика' 🡪 ? 🡪 S1 = 'інтика'
© Вивчаємо інформатику teach-inf.com.ua
Розділ 5
§ 33
Розгадайте ребус
«Ребуси українською» © rebus1.com
Символ
© Вивчаємо інформатику teach-inf.com.ua
Розділ 5
§ 33
Домашнє завдання
Проаналізувати
с. 198-203
© Вивчаємо інформатику teach-inf.com.ua
Розділ 5
§ 33
Працюємо за комп’ютером
Сторінка
203
© Вивчаємо інформатику teach-inf.com.ua
Розділ 5
§ 33
Дякую за увагу!
Нова українська школа
Урок 42
Інформатика 7
teach-inf.com.ua
за підручником
Бондаренко О.О. та ін.