Учебный курс по разработке на 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").
Доберитесь до выхода, отмеченного звездочкой в конце пути, используя пользовательскую функцию, чтобы завершить уровень.