Поглиблений курс розробки на Python
Розділ
>
Рівень
Розширені списки
Зміна матриці
Мета
Збирайте та зберігайте пляшки вина на винній полиці, змінюючи матрицю.
Є декілька пляшок вина, які потрібно зберегти на винній полиці. Проте деякі пляшки вже знаходяться на полиці, і їх потрібно розмістити в конкретних місцях для правильного зберігання.
Пляшки на полиці зберігаються в матриці, типі вкладеного списку. Матриці — це вкладені списки, у яких кожен елемент є списком однакової довжини, що створює сітку, де елементи поділяються на ряди та колонки. Наприклад:
matrix = [ [1, 2, 3], [4, 5, 6], [7, 8, 9], [0, 0, 0] ]
У наведеному коді ми маємо матрицю з трьома (3) колонками та чотирма (4) рядами. Щоб отримати доступ до елемента в матриці, потрібно вказати рядок та колонку, де знаходиться елемент, подібно до того, як отримуєте доступ до елементів стандартного списку, але з двома індексами замість одного. Наприклад, згідно з наведеним кодом: matrix[0][0] = 1 , matrix[0][1] = 2 , matrix[1][0] = 4 , тощо.
У підвалі є чотири (4) різних типи пляшок вина, а саме: "purple bottle" , "green bottle" , "blue bottle" , "yellow bottle". Зберіть усі пляшки на полі, щоб їх потім можна було зберігати на полиці.
Також пляшки зберігаються в ящиках, тому перейдіть до світла, позначеного X, і використовуйте функцію collect() у напрямку ящиків, щоб зібрати пляшки. Є дві константи, які містять вміст ящиків: lower_crate та upper_crate. Їхні назви відповідають їх положенню на мапі і використовуються наступним чином: player.collect(lower_crate).
Після того як всі пляшки будуть зібрані, запишіть кількість зібраних пляшок для кожного типу у змінні: purple_bottle , green_bottle , blue_bottle , yellow_bottle. Потім перейдіть до золотого X і поверніться до винної полиці.
У редакторі коду буде показана матриця з ім'ям wine_rack. Знайдіть елементи в матриці, які мають значення 0, і додайте до них зібрані пляшки. У кожному ряді матриці буде вказано колір пляшки, яку потрібно додати. Щоб додати новий елемент до матриці, введіть рядок і колонку, де потрібно розмістити значення, наприклад: wine_rack[0][1] = purple_bottle.
Пам’ятайте, що всі позиції в списках починаються з 0. Після того як усі елементи будуть додані до матриці та вона буде заповнена, використовуйте функцію place(), а потім функцію speak() на золотому X із ім'ям матриці, щоб перевірити її значення та завершити рівень, так: player.place(wine_rack) , player.speak(wine_rack).