1 of 22

Опрацювання рядкових величин

Нова українська школа

Урок 43

Інформатика 7

teach-inf.com.ua

за підручником

Бондаренко О.О. та ін.

2 of 22

Опрацювання рядкових величин

Ви вже знайомі з прийомами роботи з текстами у текстовому редакторі, наприклад із пошуком і заміною символів.

Мова Python має засоби для того, щоб запрограмувати дії з пошуком і заміною символів із рядковими величинами. Усі змінні в Python є об’єктами, відповідні операції доступні у вигляді методів.

© Вивчаємо інформатику teach-inf.com.ua

Розділ 5

§ 34

3 of 22

Опрацювання рядкових величин

Синтаксис виклику методу для рядкової змінної:

<назва змінної>.<назва методу> ([<параметри>])

Якщо в програмі потрібно використовувати результат виклику методу, його слід зберегти в змінній (у тій самій або іншій).

Рядкові методи в Python не змінюють рядка, для якого викликані, а утворюють новий.

© Вивчаємо інформатику teach-inf.com.ua

Розділ 5

§ 34

4 of 22

Рядкові методи

Розгляньмо деякі методи опрацювання рядкових величин і проаналізуємо результат застосування цих методів в інтерактивному режимі.

У наведених далі прикладах методи викликаються для змінної s, яка містить рядок, що опрацьовується.

© Вивчаємо інформатику teach-inf.com.ua

Розділ 5

§ 34

5 of 22

Пошук символів у рядку

Метод find() шукає заданий рядок (підрядок) у рядку s і повертає номер першого символу цього підрядка в рядку.

Якщо підрядок не знайдено, результат виклику методу дорівнює –1:

nomer = s.find(subs)

змінна цілого типу, яка набуває значення індексу першого символу підрядка subs у рядку s

nomer

шуканий підрядок

subs

© Вивчаємо інформатику teach-inf.com.ua

Розділ 5

§ 34

6 of 22

Пошук символів у рядку

З’ясуємо, чи є підрядок 'га' у рядку s:

Програмний код

Результат

12

s = 'Гуси, гуси, га-га-га'

n = s.find('га')

print(n)

Отже, в рядку s є підрядок 'га' і він починається з символу з індексом 12.

© Вивчаємо інформатику teach-inf.com.ua

Розділ 5

§ 34

7 of 22

Заміна символів у рядку

Метод 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

8 of 22

Заміна символів у рядку

Замінимо в рядку 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

9 of 22

Визначення кількості входжень підрядка

За допомогою методу count() можна визначити кількість входжень заданого підрядка в рядок:

kilk = s.count(subs)

змінна цілого типу, яка набуває значення кількості входжень підрядка subs у рядок s

kilk

шуканий підрядок

subs

© Вивчаємо інформатику teach-inf.com.ua

Розділ 5

§ 34

10 of 22

Визначення кількості входжень підрядка

Підрахуємо кількість повторень підрядка 'га' в заданому рядку s. Результат присвоїмо змінній k:

Програмний код

Результат

3

s = 'Гуси, гуси, га-га-га'

k = s.count('га')

print(k)

© Вивчаємо інформатику teach-inf.com.ua

Розділ 5

§ 34

11 of 22

Перевірка складу рядка

Іноді буває потрібно перевірити, чи складається рядок тільки з літер або тільки з цифр. Для цього в Python є спеціальні методи, які повертають логічне значення

True

False

або

повертає True, якщо рядок s містить тільки цифри;

s.isdigit()

повертає True, якщо рядок s містить тільки літери.

s.isalpha()

© Вивчаємо інформатику teach-inf.com.ua

Розділ 5

§ 34

12 of 22

Перевірка складу рядка

Запишемо фрагмент коду програми, який пропонує створити пароль, що складається тільки з літер:

Програмний код

Результат

Введіть пароль: 123secret

Введіть пароль: secret

Ваш пароль secret

parol = ''

while not(parol.isalpha()):

parol = input('Введіть пароль: ')

print('Ваш пароль ' + parol)

© Вивчаємо інформатику teach-inf.com.ua

Розділ 5

§ 34

13 of 22

Приклади програм опрацювання рядків

Дано рядок: 'Ми програмуємо мовою 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

14 of 22

Приклади програм опрацювання рядків

Вставимо підрядок 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

15 of 22

Приклади програм опрацювання рядків

Перевіримо, чи є рядок s паліндромом:

Програмний код

Результат

TAK

s = 'козак з казок'

s1 = s[::-1] # Запис рядка у зворотному порядку

if s == s1: print('TAK')

else: print('HI')

© Вивчаємо інформатику teach-inf.com.ua

Розділ 5

§ 34

16 of 22

Приклади програм опрацювання рядків

Задано текстовий рядок. Вилучимо з нього всі символи, що не є цифрами:

Програмний код

Результат

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

17 of 22

Приклади програм опрацювання рядків

Методи опрацювання рядкових величин широко застосовуються в програмуванні — у програмах, призначених для:

  • шифрування і дешифрування текстів
  • для літературознавчого аналізу та визначення авторської приналежності тощо.

© Вивчаємо інформатику teach-inf.com.ua

Розділ 5

§ 34

18 of 22

Питання для самоперевірки

  1. Як можна видалити підрядок із заданого рядка? Поясніть на прикладі.
  1. Як виконати вставлення підрядка в заданий рядок? Поясніть на прикладі.
  1. Розгадайте фразу, що зашифрована в рядку

s1 = 'Ifin lofinvefin youfin'

Запишіть команду для розшифрування цієї фрази.

  1. Дано рядок: 'Добридень тобі, Україно моя!'. Визначте довжину рядка, код букви з індексом 5, кількість букв 'о' в рядку, позицію, з якої починається слово Україно.

© Вивчаємо інформатику teach-inf.com.ua

Розділ 5

§ 34

19 of 22

Розгадайте ребус

«Ребуси українською» © rebus1.com

Підрядок

© Вивчаємо інформатику teach-inf.com.ua

Розділ 5

§ 34

20 of 22

Домашнє завдання

Проаналізувати

с. 204-208

© Вивчаємо інформатику teach-inf.com.ua

Розділ 5

§ 34

21 of 22

Працюємо за комп’ютером

Сторінка

208

© Вивчаємо інформатику teach-inf.com.ua

Розділ 5

§ 34

22 of 22

Дякую за увагу!

Нова українська школа

Урок 43

Інформатика 7

teach-inf.com.ua

за підручником

Бондаренко О.О. та ін.