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