Курс розробки на Python
Розділ 8
>
Рівень 5

Використання словників
Створені користувачами функції за допомогою словників

Мета

Використовуйте власну функцію, яка організовує проходження через поле, саджаючи та поливаючи врожай.

Поле має декілька дерев, які потрібно посадити, візьміть сумку з насінням і потім поповніть запас води біля криниці. Використайте власну функцію зі словником, щоб пройтися по полю, сіючи та поливаючи насіння.

Візьміть сумку з насінням, яка надасть вам такі насіння дерев у словнику: "orange : 3" , "pear : 4" , "apple : 3" , "peach : 2" . Пройдіть до світлого місця з X біля криниці і використайте функцію collect(), щоб зібрати воду, наприклад: player.collect("water").

Коли ви зберете всі необхідні матеріали, створіть власну функцію з назвою sow_field з використанням насіння і води для посадки та іригації поля. Власна функція буде приймати три (3) аргументи, а саме: tree, loops і direction. З використанням цих аргументів власна функція виконуватиме for цикл для зрошення поля.

def sow_field(tree,loops,direction): for x in range(loops): if direction == "right": player.move_forward(2) player.turn_left() player.plant(seeds,tree) player.water() player.turn_right() player.move_forward() if direction == "left": player.move_forward() player.turn_right() player.plant(seeds,tree) player.water() player.turn_left() player.move_forward(2)

Перший аргумент, tree, є назвою ключа, що використовується у словнику: "orange", "pear", "apple" і "peach". Оберіть відповідну назву при посадці.

Наступним аргументом є цикли (loops), які визначають кількість циклів, які ви хочете, щоб функція виконала. Це дорівнює кількості насіння кожного типу на полі. Останнім аргументом є напрямок, а саме "left" і "right", виберіть напрямок, у який ви хочете, щоб гравець рухався під час виконання циклів функції.

Прямуйте до самої верхньої частини карти після збору води і використовуйте власну функцію, наприклад: sow_field("orange", 3, "right"). Зробіть це для всіх насінь дерев, щоб завершити рівень.

Книга Коду