Форум сайта python.su
imagionТут делал задачу 31.
нужно решение 31го задания
imagion
в виде рабочего кода
def task_8_30(): f_search_hole = True while f_search_hole: f_search_hole = False while not wall_is_on_the_right(): move_right() while not wall_is_beneath(): move_down() f_search_hole = True while not wall_is_on_the_left(): move_left() while not wall_is_beneath(): move_down() f_search_hole = True
Отредактировано py.user.next (Янв. 8, 2022 17:09:58)
Офлайн
Спасибо ,но только код не работает.
можешь объяснить что такое “f_search_hole” , я так понимаю это флаг, но как он работает, в том смысле , что у него внутри.
Офлайн
imagionВыложи полный код, который запускаешь. У меня запускается всё.
но только код не работает
imagionФлаг переводится как “искать дыру”. Если полностью его писать, то будет flag_search_for_the_hole , но лишние слова убираем и слово flag сокращаем, делая из него префикс.
можешь объяснить что такое “f_search_hole” , я так понимаю это флаг, но как он работает, в том смысле , что у него внутри.
флаг_видел_последний_уровень := нет
цикл пока не флаг_видел_последний_уровень выполнять
флаг_видел_последний_уровень := да
цикл пока справа_нет_стены выполнять
шагнуть вправо
цикл пока снизу_нет_стены выполнять
шагнуть вниз
флаг_видел_последний_уровень := нет
конец цикла
конец цикла
цикл пока слева_нет_стены выполнять
шагнуть влево
цикл пока снизу_нет_стены выполнять
шагнуть вниз
флаг_видел_последний_уровень := нет
конец цикла
конец цикла
конец цикла
def task_8_30(): f_seen_last_level = False while not f_seen_last_level: f_seen_last_level = True while not wall_is_on_the_right(): move_right() while not wall_is_beneath(): move_down() f_seen_last_level = False while not wall_is_on_the_left(): move_left() while not wall_is_beneath(): move_down() f_seen_last_level = False
Отредактировано py.user.next (Янв. 9, 2022 22:00:56)
Офлайн
py.user.next
На псевдокоде рабочий код (проверял на реальном)
флаг_искать_проход := да
цикл пока флаг_искать_проход выполнять
флаг_искать_проход := нет
цикл пока справа_нет_стены выполнять
шагнуть вправо
цикл пока снизу_нет_стены выполнять
шагнуть вниз
флаг_искать_проход := да
конец цикла
конец цикла
цикл пока слева_нет_стены выполнять
шагнуть влево
цикл пока снизу_нет_стены выполнять
шагнуть вниз
флаг_искать_проход := да
конец цикла
конец цикла
конец цикла
Отредактировано Omenn (Май 21, 2022 21:09:13)
Офлайн
OmennЭта задача на флаги.
Но флаги еще не изучал
Использование переменных-флагов и переменных-счётчиковИ с 27-ой задачи нужно использовать эти инструменты - либо счётчики, либо флажки.
Обратите внимание на то, что в этих задачах ситуативное поведение Робота не может решить задачу. В задачах требуется запомнить состояние или посчитать количество определённых клеток. Используйте для этого переменные.
OmennЭта задача специально придумана так, чтобы её нельзя было решить без флагов. Ты её не решишь без флагов. Это искусственная задача, направленная на развитие навыка создания флажка. Решая её, ты учишься придумывать флаги.
можно эту задачу решить без флагов?
OmennЗначит, тебе рано решать эту задачу.
Но флаги еще не изучал
Офлайн
Всем привет! Скажите, кто-то здесь уже решал задачку 15? https://mipt-cs.github.io/python3-2017-2018/labs/lab2.html#o15-task-8-21
У меня получился такой код, но что-то идет не так….
Прикреплённый файлы:
2022-07-06_11-53-35.png (64,2 KБ)
Офлайн
Офлайн
py.user.nextСпасибо большое! Я неправильно поняла задание
Офлайн
py.user.nextЗдравствуйте можете объяснить логику ? решения. на 30 задаче (task_9_3)этой) застрял. не могу понять никак.. читаю ваш код но не могу понять(ход и действия кода) как это вы закрашиваете поле «треугольниками».
Офлайн
py.user.nextЗдравствуйте можете объяснить логику ? решения. на 30 задаче (task_9_3)этой) застрял. не могу понять никак.. читаю ваш код но не могу понять(ход и действия кода) как это вы закрашиваете поле «треугольниками».
Офлайн