riomenx
Как решить задачу №25: task_2_2 с использованием параметра n функции row_cross
Задачапрограмма закрасить крест
шагнуть вправо
закрасить ячейку
шагнуть вниз
закрасить ячейку
шагнуть вправо
закрасить ячейку
шагнуть влево
шагнуть вниз
закрасить ячейку
шагнуть вверх
шагнуть влево
закрасить ячейку
шагнуть вверх
конец программы
программа закрасить ряд крестов <вх:n:Z+>
цикл пока n > 0 выполнять
закрасить крест
шагнуть вправо
шагнуть вправо
если справа_есть_стена то
шагнуть влево
шагнуть влево
иначе
шагнуть вправо
шагнуть вправо
конец если
n.уменьшить на 1
конец цикла
конец программы
шагнуть вниз
закрасить ряд крестов <вх:5>
[guest@localhost pyrob]$ python3 task_25.py
INFO:pyrob:Starting task task_2_2
INFO:pyrob:Task task_2_2 finished: +
INFO:pyrob:Total: 1/1
[guest@localhost pyrob]$
riomenx
Я не использовал никаких параметров и решил с помощью цикла:
А в следующей задаче нужно десять крестов в ряде закрашивать. Если функцию правильно пишешь, то в следующей заадаче можешь её взять уже готовую из этой задачи. Если функцию пишешь как удобно, то в следующей задаче нужно будет писать новую функцию.
Нужно написать такую функцию, которая может закрасить и пять крестов, и десять крестов, и сто крестов, и миллион крестов. Вот для этого и нужна параметризация. При изменении условий задачи или при появлении новых похожих задач можно будет брать готовые функции, а не писать функции снова.
В данном случае мы взяли готовую функцию “закрасить крест” из 24-ой задачи; мы не писали эту функцию снова, а просто скопировали её. В 26-ой задаче делаем то же самое, только копируем уже две функции и пишем немного кода на их основе, меняя только значение параметра при вызове функции с пятёрки на десятку.