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

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

Мета

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

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

Візьміть сумку з насінням, яка надасть вам такі насіння дерев у словнику: "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"). Зробіть це для всіх насінь дерев, щоб завершити рівень.

Книга Коду