Поглиблений курс розробки на Python
Розділ
>
Рівень
Розширені списки
Створення набору
Мета
Організуйте приправи в шафі за відповідними категоріями та розташуйте їх на полицях, використовуючи Sets.
Є декілька видів приправ, які зберігаються в шафі; вони готові до використання, проте не організовані та не зручні для доступу. Їх потрібно належним чином розподілити на порожніх полицях поруч, які вже були спорожнені.
Приправи розподілені по трьох списках, які можна реорганізувати за допомогою Sets. Sets – це списки, які не містять повторюваних елементів, їх також можна сортувати різними способами та порівнювати з іншими Sets для знаходження або виділення певних елементів.
У шафі зберігаються три константні списки, які називаються: condiments1, condiments2 та condiments3. Підійдіть до позначки X (світло) для перевірки вмісту списків за допомогою функції speak() та зберіть усі три списки, використовуючи функцію collect(), ось так: player.speak(condiments1), player.collect(condiments1).
Sets створюються шляхом запису set() із передачею списку або елементів списку як аргумент, після чого задається ім'я для цього Set. Створіть три Sets, які називаються: set1, set2 та set3, і прив'яжіть їх до відповідних нумерованих констант списків, наприклад: set1 = set(condiments1).
Після збору підійдіть до темної позначки X над зеленим килимом, оберніться до столу та відфільтруйте списки за допомогою Sets. Використовуйте функцію speak() з усіма трьома Sets, які ви щойно створили, наприклад: player.speak(set1).
Потім підійдіть до темної позначки X над синім килимом і об'єднайте елементи, перевіряючи, які приправи присутні у всіх трьох списках. Зробіть це за допомогою методу intersection(), який дозволяє порівнювати Sets та знаходити елементи, що зустрічаються у всіх трьох. Назвіть отриманий Set duplicates та об'єднайте, ось так: duplicates = set1.intersection(set2,set3), використовуйте функцію speak() для перевірки отриманого Set.
Підійдіть до червоного килима з темною позначкою X та об'єднайте всі три Sets в один Set, використовуючи метод union(). Він використовується так само, як метод intersection(), але об'єднує всі елементи з усіх трьох Sets та поміщає їх в один Set без повторень. Назвіть отриманий Set all_items та об'єднайте, ось так: all_items = set1.union(set2,set3), використовуйте функцію speak() для перевірки отриманого Set.
Після того як усе буде об'єднано, підійдіть до золотої позначки X та оберніться до полиць, використовуйте функцію place() для розміщення всіх приправ на порожню полицю, щоб завершити рівень, ось так: player.place(all_items).