Учебный курс по разработке на Python
Глава
>
Уровень

Создание собственных функций
Использование условий в функциях

Цель

Открывайте ворота и чини мосты с помощью одной пользовательской функции, используя условия.

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

На вашем пути встречается два типа препятствий: двери, которые нужно открыть и закрыть, и мосты, которые нужно починить. Создайте пользовательскую функцию, которая сможет справиться с обоими, установив команды "open" и "build" в качестве аргументов для функции.

def navigate_swamp(action): if action == "build": # Add code to build bridge and move forward # Make sure code is repeated 3 times if action == "open": # Add code to open door and move forward # Then code to turn around and close the door

Внутри пользовательской функции, в условии для команды build, используйте функцию build() для починки обрушившегося моста в середине карты, например так: player.build("bridge"). Настройте функцию так, чтобы игрок мог двигаться вперёд и три (3) раза починять мост, чтобы можно было перейти.

Для второго варианта в пользовательской функции, используемого для открытия и закрытия ворот, примените функции open() и close(). Настройте её так, чтобы вы открывали дверь, шли вперёд, затем разворачивались и закрывали дверь.

Пройдите к темным крестикам (X), отмеченным перед дверями, и используйте пользовательскую функцию с командой open для прохождения ворот, например так: navigate_swamp("open"). Также соберите все бревна на поле и двигайтесь к первому светлому кресту (X), который встретите, используя пользовательскую функцию с командой build для преодоления потока, например так: navigate_swamp("build").

Доберитесь до выхода, отмеченного звездочкой в конце пути, используя пользовательскую функцию, чтобы завершить уровень.

Книга Кода