1 of 14

Практична робота 11 Робота з двовимірними масивами у програмі з графічним інтерфейсом

За навчальною програмою 2017 року

Урок 61

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

teach-inf.com.ua

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

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

2 of 14

Повторення

Як правило, дані в комірках таблиці належать до одного типу. Такі таблиці прийнято називати двовимірними масивами.

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

Масив називається двовимірним, якщо для задання місцеположення елемента в масиві необхідно вказати значення двох індексів.

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

Розділ 5

§ 35

3 of 14

Поняття двовимірного масиву

ПРИКЛАД 1. Збережемо дані таблиці, у змінній а.

1

2

3

12

23

5

13

4

8

6

7

11

a = [[1, 2, 3, 12], [23, 45, 13, 4], [8, 6, 7, 11]]

Кожний елемент списку а також є списком, що містить дані з одного рядка таблиці. Довжина списку len(a) = 3. Звернутися до вкладеного списку (рядка таблиці) можна за його індексом:

a[0] = [1, 2, 3, 12]

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

Розділ 5

§ 35

4 of 14

Поняття двовимірного масиву

Для перебору рядків списку використовується цикл for. Нехай b = [[1, 2, 3, 4], [5, 6], [7, 8, 9]]

Можна перебрати індекси вкладених списків – елементів списку

Можна перебрати всі наявні в списку елементи – рядки таблиці.

for i in range (len(b)):

print(b[i])

for row in b:

print(row)

[1, 2, 3, 4]

[5, 6]

[7, 8, 9]

При використанні обох варіантів циклу в консоль буде виведено:

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

Розділ 5

§ 35

5 of 14

Поняття двовимірного масиву

Положення окремого елемента в таблиці визначається 2 індексами:

номером рядка

номером стовпця

і

Отже, щоб звернутися до елемента у вкладеному списку, слід указати два індекси.

Елемент, розташований на перетині і-го рядка і j-го стовпця масиву А, позначають.

Запам’ятайте, що у двовимірних масивах перший індекс завжди вказує на номер рядка, а другий — на номер стовпця.

А[і] [j]

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

Розділ 5

§ 35

6 of 14

Поняття двовимірного масиву

Елементи списку а з прикладу 1 мають такі значення:

1

2

3

12

23

5

13

4

8

6

7

11

a[0][0] == 1

a[0][1] == 2

a[1][2] == 13

a[1][1] == 5

a[2][2] ==7

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

Розділ 5

§ 35

7 of 14

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

Нехай потрібно створити двовимірний масив для збереження даних прямокутної таблиці, у якій n рядків і m стовпців, і заповнити його нулями.

Це можна зробити в такий спосіб: створити порожній список, потім додати до нього n елементів — рядків масиву.

n = 3

m = 4

a = []

for i in range(n):

a.append([0]*m)

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

Розділ 5

§ 35

8 of 14

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

Іншим способом створення двовимірного масиву є використання генератора.

n = 3

m = 4

a = [[0]*m for i in range(n)]

Список [0]*m заново генерується для заповнення чергового елемента списку а.

[[0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0]]

Результат виконання

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

Розділ 5

§ 35

9 of 14

Введення елементів двовимірного масиву

Щоб створити двовимірний масив із n рядків та m стовпців, уводячи значення елементів масиву з клавіатури, слід n разів повторити дії:

  1. увести рядок row, що містить m чисел, відокремлених пробілами, і розбити рядок row функцією split() на список;
  1. кожний елемент row[i] рядка row перетворити на числовий тип;
  1. рядок row додати до списку а.

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

Розділ 5

§ 35

10 of 14

Введення елементів двовимірного масиву

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

n = int(input()) # Кількість рядків масиву

a = [] # Створюється порожній список

for i in range(n):

row = input().split()

for j in range(len(row)):

row[j] = int(row[j])

a.append(row)

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

Розділ 5

§ 35

11 of 14

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

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

§ 35, с. 216-217

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

Розділ 5

§ 35

12 of 14

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

Практична робота 11

Робота з двовимірними масивами у програмі з графічним інтерфейсом

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

Розділ 5

§ 35

13 of 14

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

Сторінка

216-217

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

Розділ 5

§ 35

14 of 14

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

За навчальною програмою 2017 року

Урок 61

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

teach-inf.com.ua

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

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