uabooks.top » Інформатика » Рядки як послідовності символів
Інформація про новину
  • Переглядів: 25
  • Дата: 8-05-2020, 19:34
8-05-2020, 19:34

Рядки як послідовності символів

Категорія: Інформатика




Багато задач програмування пов’язано з опрацюванням текстових даних: задачі шифрування інформації, перевірки тексту на відсутність плагіату, ігри зі словами тощо.

Для опрацювання текстових даних у Python існує тип даних str (від англ . string — рядок) .

Значенням величини типу str є послідовність символів .

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

Коди символів

Усі символи (літери, цифри, знаки пунктуації тощо) утворюють так звану таблицю символів . Кожний символ у таблиці має свій номер, який називають його кодом .

Код будь-якого символу можна визначити за допомогою функції ord():

Дізнатися, який символ відповідає певному коду, можна за допомогою функції chr():

Великі й малі літери, літери англійського та українського алфавітів із однаковим написанням мають різні коди

Коди від 0 до 31 і від 127 до 160 не призначені для зображуваних символів, а є керувальними . Коду 32 відповідає символ «пропуск» .

Нумерація символів у рядку

Кожний символ у рядку має унікальний порядковий номер — індекс . Нумерація символів починається з нуля . Розглянемо приклади роботи з рядками в інтерактивному режимі

До конкретного символу в рядку можна звертатися за його індексом, зазначивши індекс у квадратних дужках .

Надрукуємо першу літеру рядка Червона калина:

Можна починати відлік символів із кінця рядка. У цьому випадку індекси починаються з -1 (останній символ) .

Надрукуємо третю з кінця літеру рядка Червона калина:

Присвоїмо змінній b символ рядка а з індексом 8:

Функція len() повертає кількість символів, із яких утворено рядок . Синтаксис функції:

де k — змінна цілого типу для збереження значення, яке повертає функція; s — рядок, довжину якого потрібно визначити .

Визначимо довжину рядка Червона калина:

Пропуск теж є символом, тому довжина рядка дорівнює 14 .

Отримання зрізів

Можна вибирати з рядка не один символ, а декілька, тобто добувати зріз (підрядок) .

Оператор добування зрізу з рядка:

де z — змінна, в яку зберігається підрядок рядка s; і — індекс початку зрізу; j — його закінчення (причому символ із номером j у зріз не входить); step — з яким кроком вибираються символи .

Якщо символи вибираються підряд, параметр step можна опустити . Якщо відсутній перший індекс, то зріз береться від початку до другого індексу; за відсутності другого індексу зріз береться від першого індексу до кінця рядка

Рядки — незмінювані послідовності . Якщо спробувати змінити значення символу всередині рядка, виникне помилка (рис. 4.1) .

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

Перевірити, чи є певний рядок в іншому рядку, можна, скориставшись оператором in:

Операції конкатенації і дублювання

Об’єднання двох або більше рядків в один рядок називають конкатенацією . Цю операцію позначають символом «+» .

Об’єднаємо рядкові змінні а і b, додавши між ними пропуск .

Дублювання — це повторення текстового фрагмента задану кількість разів . Цю операцію позначають символом «*» .

Створення вікна програми з написом і кнопкою

Пригадаємо основні кроки зі створення програми з графічним інтерфейсом із використанням модуля tkinter.

Побудова програми починається зі створення вікна . У вікно додаються інші елементи керування . Для деяких елементів керування створюються обробники подій

Проаналізуємо програмний код створення вікна з написом і кнопкою

Якщо зберегти й запустити цю програму, побачимо вікно програми (рис. 4.2, а). Після натискання на кнопку напис зміниться на 'Успіхів!' (рис . 4.2, б) .

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

1. Опишіть основні кроки зі створення програми з графічним інтерфейсом .

2. За допомогою звернень до символів у рядку за їхніми індексами та операції конкатенації отримайте з рядка 'Якщо ви можете запрограмувати комп'ютер, то ви зможете досягти своєї мрії. Дік Костоло' рядки 'програміст' та 'зірка'.

3. Запишіть оператори, що реалізують присвоєння змінній b таких зрізів рядка а:

а) перші вісім символів;

б) останні чотири символи;

в) символи з індексами, кратними трьом

4. Запишіть оператор, який дозволив отримати з рядка s такий рядок: а) s1 = 'форма'; б) s1 = 'інтика'.

s = 'інформатика'

5. Розгадайте фразу, яку зашифровано в рядку s1 . Який зріз із рядка s1 потрібно присвоїти рядку s2 для розшифрування фрази? s1 = 'яа клеюгбмлщюй кіеннфгошрщмзазтхиткуур'

6. Задано рядок символів . Поміняйте місцями першу половину рядка з другою. Приклади: 123абв ^ абв123; 1234абв ^ абв4123 .

Вправа 4

►► Скласти програму Рекламний рядок.

У Python IDLE виберіть команду File ^ New File.

1) Запишіть команду завантаження модуля tkinter.

2) Створіть вікно програми розмірами 300 х 100 із заголовком Реклама (рис . 4.3) .

3) До змінної s занесіть текст реклами, наприклад: s = 'Вивчайте мову Python!'

4) Додайте до вікна віджет lab класу Label . Задайте значення атрибутів об’єкта lab на ваш розсуд, наприклад:

5) Для того щоб рядок рухався, створіть функцію clock() . При кожному виклику функції 0-й символ рядка s переміщується в кінець рядка й оновлюється властивість text віджета lab: def clock():

6) В основній програмі запишіть команду виклику функції clock, а в останньому рядку програмного коду — оператор запуску головного циклу обробки подій:

Збережіть програмний код з іменем Vprava4 .

Випробуйте програму (див рис 4 3)

Поекспериментуйте з нею, змінюючи рекламний текст, періодичність виклику функції dock тощо.

Комп’ютерне тестування

Виконайте тестове завдання 4 із автоматичною перевіркою результату

 

 

Це матеріал з підручника Інформатика за 7 клас Бондаренко

 




^