Глава 17 · Модель и правила

Индексы, строки и столбцы

Поле выглядит как таблица 3×3 — но в памяти это один список из девяти элементов.

Поле — плоский список из девяти элементов

0
1
2
3
4
5
6
7
8
Индексы клеток поля 0..8 — слева направо, сверху вниз.

Хотя визуально поле — таблица 3×3, в памяти это ОДИН плоский список из девяти элементов (board[0] .. board[8]), как и в разделе 17.3.

Индекс → строка и столбец

indeks_v_koordinaty.py
row = index // 3
column = index % 3
indexrowcolumn
000
101
202
310
411
512
620
721
822

Обратное направление: строка и столбец → индекс

koordinaty_v_indeks.py
index = row * 3 + column
Пригодится не только здесь
Формула row * ширина + column — общий приём для любой прямоугольной сетки, хранящейся плоским списком (изображения, карты уровней, электронные таблицы).
Практика: индекс, строка, столбец
Автоматическая проверка — прямое и обратное преобразование координат для всех 9 клеток
Открыть практику →