Опрацювання рядкових величин
Нова українська школа
Урок 43
Інформатика 7
teach-inf.com.ua
за підручником
Бондаренко О.О. та ін.
Опрацювання рядкових величин
Ви вже знайомі з прийомами роботи з текстами у текстовому редакторі, наприклад із пошуком і заміною символів.
Мова Python має засоби для того, щоб запрограмувати дії з пошуком і заміною символів із рядковими величинами. Усі змінні в Python є об’єктами, відповідні операції доступні у вигляді методів.
© Вивчаємо інформатику teach-inf.com.ua
Розділ 5
§ 34
Опрацювання рядкових величин
Синтаксис виклику методу для рядкової змінної:
<назва змінної>.<назва методу> ([<параметри>])
Якщо в програмі потрібно використовувати результат виклику методу, його слід зберегти в змінній (у тій самій або іншій).
Рядкові методи в Python не змінюють рядка, для якого викликані, а утворюють новий.
© Вивчаємо інформатику teach-inf.com.ua
Розділ 5
§ 34
Рядкові методи
Розгляньмо деякі методи опрацювання рядкових величин і проаналізуємо результат застосування цих методів в інтерактивному режимі.
У наведених далі прикладах методи викликаються для змінної s, яка містить рядок, що опрацьовується.
© Вивчаємо інформатику teach-inf.com.ua
Розділ 5
§ 34
Пошук символів у рядку
Метод find() шукає заданий рядок (підрядок) у рядку s і повертає номер першого символу цього підрядка в рядку.
Якщо підрядок не знайдено, результат виклику методу дорівнює –1:
nomer = s.find(subs)
змінна цілого типу, яка набуває значення індексу першого символу підрядка subs у рядку s
nomer
шуканий підрядок
subs
© Вивчаємо інформатику teach-inf.com.ua
Розділ 5
§ 34
Пошук символів у рядку
З’ясуємо, чи є підрядок 'га' у рядку s:
Програмний код
Результат
12
s = 'Гуси, гуси, га-га-га'
n = s.find('га')
print(n)
Отже, в рядку s є підрядок 'га' і він починається з символу з індексом 12.
© Вивчаємо інформатику teach-inf.com.ua
Розділ 5
§ 34
Заміна символів у рядку
Метод replace() шукає й замінює підрядок у заданому рядку:
s_rez = s.replace(s_find, s_ins)
Якщо sins = '' (порожній рядок), то метод replace просто вилучить знайдені підрядки.
змінна для збереження результату, що повертає метод
s_rez
підрядок, який потрібно замінити у рядку s
s_find
рядок, яким буде замінено підрядок s_find
s_ins
© Вивчаємо інформатику teach-inf.com.ua
Розділ 5
§ 34
Заміна символів у рядку
Замінимо в рядку s усі підрядки 'cry' на підрядки 'smile' і результат запишемо в змінну s1:
Програмний код
Результат
Why do You smile, Willy, why do You smile?
s = 'Why do You cry, Willy, why do You cry?'
s1 = s.replace('cry', 'smile')
print(s1)
© Вивчаємо інформатику teach-inf.com.ua
Розділ 5
§ 34
Визначення кількості входжень підрядка
За допомогою методу count() можна визначити кількість входжень заданого підрядка в рядок:
kilk = s.count(subs)
змінна цілого типу, яка набуває значення кількості входжень підрядка subs у рядок s
kilk
шуканий підрядок
subs
© Вивчаємо інформатику teach-inf.com.ua
Розділ 5
§ 34
Визначення кількості входжень підрядка
Підрахуємо кількість повторень підрядка 'га' в заданому рядку s. Результат присвоїмо змінній k:
Програмний код
Результат
3
s = 'Гуси, гуси, га-га-га'
k = s.count('га')
print(k)
© Вивчаємо інформатику teach-inf.com.ua
Розділ 5
§ 34
Перевірка складу рядка
Іноді буває потрібно перевірити, чи складається рядок тільки з літер або тільки з цифр. Для цього в Python є спеціальні методи, які повертають логічне значення
True
False
або
повертає True, якщо рядок s містить тільки цифри;
s.isdigit()
повертає True, якщо рядок s містить тільки літери.
s.isalpha()
© Вивчаємо інформатику teach-inf.com.ua
Розділ 5
§ 34
Перевірка складу рядка
Запишемо фрагмент коду програми, який пропонує створити пароль, що складається тільки з літер:
Програмний код
Результат
Введіть пароль: 123secret
Введіть пароль: secret
Ваш пароль secret
parol = ''
while not(parol.isalpha()):
parol = input('Введіть пароль: ')
print('Ваш пароль ' + parol)
© Вивчаємо інформатику teach-inf.com.ua
Розділ 5
§ 34
Приклади програм опрацювання рядків
Дано рядок: 'Ми програмуємо мовою Python!'
Визначимо довжину рядка, код букви з індексом 10, кількість букв 'м' у рядку, позицію, з якої починається слово 'Python'.
Програмний код
28
1091
3
21
s = 'Ми програмуємо мовою Python!'
print(len(s)) # Довжина рядка s
print(ord(s[10])) # Код букви з індексом 10
print(s.count('м')) # Кількість букв 'м' у рядку S
print(s.index('Python’))
# Позиція початку слова 'Python'
Результат
© Вивчаємо інформатику teach-inf.com.ua
Розділ 5
§ 34
Приклади програм опрацювання рядків
Вставимо підрядок subs у заданий рядок s після n-го символу:
Програмний код
Результат
123abc4
s = '1234'
subs = 'abc'
n = 2
snew = s[0: n+1]+subs+s[n+1: len(s)]
print(snew)
© Вивчаємо інформатику teach-inf.com.ua
Розділ 5
§ 34
Приклади програм опрацювання рядків
Перевіримо, чи є рядок s паліндромом:
Програмний код
Результат
TAK
s = 'козак з казок'
s1 = s[::-1] # Запис рядка у зворотному порядку
if s == s1: print('TAK')
else: print('HI')
© Вивчаємо інформатику teach-inf.com.ua
Розділ 5
§ 34
Приклади програм опрацювання рядків
Задано текстовий рядок. Вилучимо з нього всі символи, що не є цифрами:
Програмний код
Результат
dfghas
s = 'd3fgh56as67'
cifra = '0123456789'
snew = '' # Створено порожній рядок snew
for i in range(len(s)):
if not (s[i] in cifra): # Якщо символ не є цифрою,
snew = snew+s[i]
# додати символ до рядка snew
print(snew)
© Вивчаємо інформатику teach-inf.com.ua
Розділ 5
§ 34
Приклади програм опрацювання рядків
Методи опрацювання рядкових величин широко застосовуються в програмуванні — у програмах, призначених для:
© Вивчаємо інформатику teach-inf.com.ua
Розділ 5
§ 34
Питання для самоперевірки
s1 = 'Ifin lofinvefin youfin'
Запишіть команду для розшифрування цієї фрази.
© Вивчаємо інформатику teach-inf.com.ua
Розділ 5
§ 34
Розгадайте ребус
«Ребуси українською» © rebus1.com
Підрядок
© Вивчаємо інформатику teach-inf.com.ua
Розділ 5
§ 34
Домашнє завдання
Проаналізувати
с. 204-208
© Вивчаємо інформатику teach-inf.com.ua
Розділ 5
§ 34
Працюємо за комп’ютером
Сторінка
208
© Вивчаємо інформатику teach-inf.com.ua
Розділ 5
§ 34
Дякую за увагу!
Нова українська школа
Урок 43
Інформатика 7
teach-inf.com.ua
за підручником
Бондаренко О.О. та ін.