1 of 16

ОДНОВИМІРНІ МАСИВИ. СПИСКИ В PYTHON, ЇХ УВЕДЕННЯ ТА ВИВЕДЕННЯ

​

Урок 9

Матеріали для виконання

завдань, вправ та

файли-заготовки

2 of 16

Проблема багатьох змінних

Традиційний підхід

Припустимо, необхідно знайти середню вагу 100 учнів. Якщо використовувати окремі змінні для кожного учня (наприклад, a, b, c, ... cv), код стає надзвичайно громіздким:

​

Систематизований підхід

Набагато краще об'єднати всі ці змінні в один впорядкований набір. Це дозволяє:

    • Звертатися до будь-якої змінної за її номером (індексом).
    • Опрацьовувати весь обсяг даних в циклі всього кількома рядками коду.
    • Автоматично масштабувати програму на будь-яку кількість елементів.

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

3 of 16

Масиви

Масив — це впорядкований набір елементів одного типу, розташованих послідовно в пам'яті.

У мові Python масиви подібні до вбудованого структурованого типу даних, який має назву «список».

Принципова різниця між масивом і списком полягає в тому, що у списку елементи можуть мати різні типи, а масиві – тільки один тип.

4 of 16

Структура масиву може бути:

    • одновимірною (лінійною);
    • двовимірною (табличною);
    • багатовимірною.

Одновимірний масив складається з імені самого масиву та порядкового номера (індексу) елемента у квадратних дужках. Наприклад: a[0], a[1], a[2].

Одновимірний масив – це нумерована послідовність однотипних елементів.

Номери (індекси) мають бути обов'язково цілими числами. Вони можуть бути як конкретними константами (a[5]), так і змінними (a[i]) або виразами (a[2*i+3]).

5 of 16

Одновимірні масиви

Нумерація елементів масиву в мові Python починається з нуля, а самі елементи беруться у квадратні дужки, наприклад:

mas=[7, 32, 5, 78].

​

До будь-якого елемента масиву можна звернутися так: mas[i], де і – індекс (номер позиції) елемента в масиві.

Тут mas – ім’я масиву, на нульовій позиції якого знаходиться число 7, на першій – число 32 і т.д.

Будь-якому елементу масиву можна присвоїти певне значення, наприклад: mas[2]=20. Другому елементу масиву mas буде присвоєно число 20.

6 of 16

Математика vs Python

​

У математиці індексація зазвичай розпочинається з одиниці, тоді як у мові Python вона завжди починається з нуля. Розглянемо приклад представлення ваги учнів:

​

Тип представлення

Перший елемент

Другий елемент

...

Останній елемент

(99-й)

Останній елемент (100-й)

Звичайний (з 1)

a[1] (62.4 кг)

a[2] (54 кг)

...

a[99] (57.5 кг)

a[100] (49 кг)

В Python (з 0)

a[0] (62.4 кг)

a[1] (54 кг)

...

a[98] (57.5 кг)

a[99] (49 кг)

7 of 16

Опрацювання елементів у циклі

Щоб швидко обчислити загальну масу всіх учнів у Python, замість написання 100 окремих доданків використовується всього три рядки коду:

​

Змінна i послідовно набуває значень від 0 до 99. Таким чином, за один хід циклу додається вага чергового учня, що суттєво оптимізує логіку програми.

8 of 16

Списки в Python (List)

У Python є класичний тип масивів (array), але він має суворі обмеження: фіксований розмір та обов'язкову однаковість типу елементів.

​

Списки (list) набагато гнучкіші:

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

a = [4, -3.8, 0, 3.5, -4]

​

9 of 16

Способи створення та введення списків

Статичне задання

Створення списку безпосередньо у коді програми з фіксованими значеннями.

Поелементний метод

Створення порожнього списку з поступовим додаванням значень методом append() у циклі.

В один рядок

Введення всіх значень списку за один крок через пропуски за допомогою вбудованих функцій.

​

10 of 16

01

02

03

Як працює конвеєр введення в один рядок

Крок 1: input()

Зчитує весь введений рядок з клавіатури як один єдиний текстовий блок.

​

Крок 2: split()

Розбиває отриманий рядок на окремі фрагменти тексту (слова) по місцях пропусків.

​

Крок 3: map()

Перетворює кожен фрагмент тексту на вказаний тип даних (наприклад, дійсне число float).

​

04

Крок 4: list()

Збирає оброблені числа в остаточну структуру списку та записує у змінну a.

​

11 of 16

Способи створення та введення списків

​

У Python є класичний тип масивів (array), але він має суворі обмеження: фіксований розмір та обов'язкову однаковість типу елементів.

​

Списки (list) набагато гнучкіші:

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

a = [4, -3.8, 0, 3.5, -4]

​

12 of 16

    • Відкрийте вікно середовища створення та редагування проєктів https://samel.ho.ua/
    • Уведіть у вікні редактора коду такий текст:

a = [60, 120, 130, 10, 40, 150, 50, 55]

for i in range(8):

a[i] = a[i] + 10

print(a)

Задача. У списку подано ціни 8-ми товарів у гривнях. Через місяць вони зросли на 10 грн. Створіть проєкт, у результаті виконання якого утвориться список з новими цінами товарів.

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

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

3. Збережіть проєкт у файлі з іменем вправа 3.1-1 у вашій папці.

4. Запустіть проєкт на виконання.

5. Проаналізуйте виведені результати. Чи відповідають вони умові задачі?

6. Запустіть ще кілька разів проєкт на виконання, змінивши значен ня елементів списку.

7. Проаналізуйте виведені результати. Чи відповідають вони умові задачі?

13 of 16

8. Змініть текст проєкту на такий:

a = []

for i in range(8):

x = float(input(‘Уведіть значення

елемента списку > ’))

a.append(x)

for i in range(8):

a[i] = a[i] + 10

print(‘Підвищені ціни: ’, *a)

9. Збережіть проєкт у файлі з іменем вправа 3.1-2 у вашій папці.

10. Запустіть проєкт на виконання.

11. Уведіть по черзі числа 60, 120, 130, 10, 40, 150, 50, 55, натискаю чи після введення кожного клавішу Enter.

12. Проаналізуйте виведені результати. Чи відповідають вони умові задачі?

13. Запустіть ще кілька разів проєкт на виконання, уводячи щоразу інші числа.

14. Проаналізуйте виведені результати. Чи відповідають вони умові задачі?

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

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

14 of 16

15. Змініть текст проєкту на такий:

a = list(map(int, input(‘Уведіть 8 цілих чисел через пропуск > ’).split()))

for i in range(8):

a[i] = a[i] + 10

print(‘Підвищені ціни: ’, *a)

16. Збережіть проєкт у файлі з іменем вправа 3.1-3 у вашій папці.

17. Запустіть проєкт на виконання.

18. Уведіть через пропуск числа: 60 120 130 10 40 150 50 55.

19. Натисніть клавішу Enter.

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

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

20. Проаналізуйте виведені результати. Чи відповідають вони умові задачі?

21. Запустіть ще кілька разів проєкт на виконання, уводячи щоразу інші числа.

22. Проаналізуйте виведені результати. Чи відповідають вони умові задачі?

23. Закрийте всі відкриті вікна

15 of 16

    • Що таке одновимірний масив?
    • Із чого складається ім’я елемента одновимірного масиву?
    • Що може використовуватись як номер елемента одновимірного масиву?
    • Якими способами можна ввести значення елементів списку з клавіатури?
    • Якими способами можна вивести значення елементів списку?
    • Яка функція використовується для визначення кількості еле ментів списку?
    • Який метод використовується для додавання до списку нових елементів?

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

16 of 16

Урок 10. ОПРАЦЮВАННЯ СПИСКІВ

Готуємось до вивчення нового матеріалу

Матеріали для виконання

завдань, вправ та

файли-заготовки

    • Які функції ви використовували в табличному процесорі Excel?
    • Що таке функція у проєкті мовою програмування Python? Для чого їх використовують?