Module (95%)
Section (71%)

Трехмерные массивы

Python не ограничивает глубину включения списка в список. Здесь вы можете увидеть пример трехмерного массива:

Представьте себе отель. Это огромный отель, состоящий из трех корпусов по 15 этажей в каждом. На каждом этаже по 20 комнат. Для этого вам понадобится массив, который может собирать и обрабатывать информацию о занятых/свободных комнатах.

Первый шаг - тип элементов массива. В этом случае подойдет логическое значение (True/False).

Шаг второй - спокойный анализ ситуации. Обобщите имеющуюся информацию: три корпуса, 15 этажей, 20 комнат

Теперь вы можете создать массив:

rooms = [[[False for r in range(20)] for f in range(15)] for t in range(3)]

Первый индекс (от 0 до 2) выбирает одно из зданий; второй (от 0 до 14) выбирает этаж, третий (от 0 до 19) выбирает номер комнаты. Все комнаты изначально свободные.

Теперь вы можете забронировать номер для двоих молодоженов: во втором корпусе, на десятом этаже, комната 14:

rooms[1][9][13] = True

и освободите вторую комнату на пятом этаже, расположенную в первом корпусе:

rooms[0][4][1] = False

Проверьте, есть ли свободные места на 15 этаже 3 корпуса:

vacancy = 0 for room_number in range(20): if not rooms[2][14][room_number]: vacancy += 1

Переменная vacancy содержит 0, если все комнаты заняты, или количество доступных комнат в противном случае.


Поздравляем! Вы дошли до конца модуля. Так держать!


Code

rooms = [[[False for r in range(20)] for f in range(15)] for t in range(3)]
{{ dockerServerErrorMsg }} ×
{{ errorMsg }} ×
{{ successMsg }} ×