Учебный курс по разработке на Python
Глава
>
Уровень
Условия
Операторы break и continue
Цель
Очистите проход между зданиями от сорняков, используя условия циклов.
Проход между зданиями зарос сорняками — соберите все сорняки и утилизируйте их с помощью циклов. Существуют способы автоматизировать этот процесс с использованием условий циклов.
Создайте переменную с именем bag и используйте её для хранения сорняков, когда вы их собираете. Используйте цикл while с условиями для автоматизации процесса, всего имеется десять (10) сорняков.
while True: player.move_forward() bag += 1 if bag == 10: break
Установив условие цикла while равным True, цикл не завершится, пока оператор break не будет использован для его прекращения. Каждый цикл добавляет сорняк в сумку и проверяет, сколько сорняков собрано, чтобы прервать цикл. Оператор if используется для проверки, следует ли завершить цикл, он проверяет количество сорняков в переменной bag и прерывает цикл, если достигнуто необходимое количество.
После прохождения через проход используйте цикл for для сброса сорняков в контейнеры с помощью функции place() в отмеченных местах. Однако количество шагов между каждым контейнером неравномерно, так как между ними имеется разрыв. Используя оператор continue, вы пропускаете цикл, если условие, проверенное оператором if, выполнено.
for x in range(3): player.move_forward() if x == 1: continue player.turn_right() player.place(bag/2) player.turn_left()
В приведённом выше коде оператор if проверяет, равно ли значение переменной x (количество циклов) единице. Цикл for выполняется три (3) раза, как определено функцией range(): поскольку x начинается с 0, он принимает значения 0, 1, 2 перед завершением цикла. Поскольку проверяется, равен ли цикл единице, код под continue не выполняется и пропускается, если условие выполнено. Таким образом, можно избежать разрыва между двумя контейнерами, пропуская средний цикл.
Поскольку имеется два (2) ящика, используйте функцию place() для сброса сорняков, сохранённых в переменной bag, деля общее количество, например: player.place(bag/2).
После того, как вы соберёте и разместите сорняки в нужном месте, доберитесь до выхода, отмеченного звездой, чтобы завершить уровень.