Виконання навчальних проєктів
За навчальною програмою 2017 року
Урок 64
Інформатика 9
teach-inf.com.ua
за підручником
Ривкінд Й.Я. та ін.
Створення вкладених списків
Нехай потрібно створити двовимірний масив для збереження даних прямокутної таблиці, у якій n рядків і m стовпців, і заповнити його нулями.
Це можна зробити в такий спосіб: створити порожній список, потім додати до нього n елементів — рядків масиву.
n = 3
m = 4
a = []
for i in range(n):
a.append([0]*m)
© Вивчаємо інформатику teach-inf.com.ua
Розділ 5
§ 5.3
Створення вкладених списків
Іншим способом створення двовимірного масиву є використання генератора.
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
§ 5.3
Введення елементів двовимірного масиву
Щоб створити двовимірний масив із n рядків та m стовпців, уводячи значення елементів масиву з клавіатури, слід n разів повторити дії:
© Вивчаємо інформатику teach-inf.com.ua
Розділ 5
§ 5.3
Введення елементів двовимірного масиву
Програмний код
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
§ 5.3
Введення елементів двовимірного масиву
ПРИКЛАД 4. Заповнення двовимірного масиву з 3 рядків та 4 стовпців випадковими числами:
from random import*
a = [[], [], []]
for i in range(len(a)):
for j in range(4):
a[i] = a[i]+[randint(1,10)]
# Додавання чергового елемента до і-го рядка
[[6, 9, 3, 1], [4, 6, 4, 2], [8, 6, 5, 5]]
Можливий результат виконання
© Вивчаємо інформатику teach-inf.com.ua
Розділ 5
§ 5.3
Введення елементів двовимірного масиву
ПРИКЛАД 5. Задання значень елементів двовимірного масиву за певною формулою наявне у випадках, коли значення елемента залежить від його індексів. Нехай кожний елемент масиву 3 × 4 дорівнює більшому з його індексів:
a = [[], [], []]
for i in range(len(a)):
for j in range(4):
a[i] = a[i]+[max(i, j)]
print()
[[0, 1, 2, 3], [1, 1, 2, 3], [2, 2, 2, 3]]
Результат виконання
© Вивчаємо інформатику teach-inf.com.ua
Розділ 5
§ 5.3
Введення елементів двовимірного масиву
ПРИКЛАД 6. Заповнити двовимірний масив 5 × 5 у такий спосіб: елементам головної діагоналі присвоїти значення 1, елементам, що розташовані вище головної діагоналі, — значення 2, елементам, що розташовані нижче головної діагоналі, — значення 0.
a = [[], [], [], [], []]
for i in range(5):
for j in range(5):
if i == j: a[i].append(1)
elif i<j: a[i].append(2)
else: a[i].append(0)
[[1, 2, 2, 2, 2],
[0, 1, 2, 2, 2],
[0, 0, 1, 2, 2],
[0, 0, 0, 1, 2],
[0, 0, 0, 0, 1]]
Результат виконання
Програмний код
© Вивчаємо інформатику teach-inf.com.ua
Розділ 5
§ 5.3
Питання для самоперевірки
© Вивчаємо інформатику teach-inf.com.ua
Розділ 5
§ 5.3
Працюємо за комп’ютером
Виконати завдання з файлу:
Практичне завдання_урок 64
© Вивчаємо інформатику teach-inf.com.ua
Розділ 5
§ 5.3
Дякую за увагу!
За навчальною програмою 2017 року
Урок 64
Інформатика 9
teach-inf.com.ua
за підручником
Ривкінд Й.Я. та ін.