Кортежи и множества · 15 из 21
Номерки по спирали
Танцпол на свадьбе выложен квадратной плиткой, и тётя Галя придумала игру: на плитки кладут номерки по спирали. Номер 1 — в самом центре, 2 — справа от него, дальше спираль закручивается против часовой стрелки: вверх, влево, вниз, вправо, и каждые два поворота сторона витка становится на плитку длиннее. Гостю выпадает номер — и он должен встать на свою плитку. Ведущему нужна шпаргалка: где лежит каждый номер.
Что сделать
Выпишите, где лежат номерки от 1 до n: первый в центре, дальше по спирали против часовой стрелки.
Что приходит
n— сколько номерков, от 1
Что вернуть
Список кортежей (x, y) — клетка номерка 1, номерка 2 и так до n; центр — (0, 0), x растёт вправо, y — вверх.
Допишите функцию kletki в редакторе справа.
Результат верните через return — то, что
напечатано, на проверку не влияет.
с графикой когда тесты пройдут, ответ вашей функции нарисуется · все задачи с графикой
Пять номерков: 1 в центре (0, 0), 2 справа — (1, 0), 3 над ним — (1, 1), 4 левее — (0, 1), 5 ещё левее — (-1, 1). Дальше спираль пошла бы вниз.
kletki(5)
[(0, 0), (1, 0), (1, 1), (0, 1), (-1, 1)]
Спираль идёт отрезками: вправо 1, вверх 1, влево 2, вниз 2, вправо 3, вверх 3, влево 4… — после каждых двух отрезков длина растёт на единицу. Каждый шаг отрезка — следующий номерок.
Список заканчивается ровно на номерке n, даже если это середина отрезка. При n = 1 — [(0, 0)].
Обсуждение
Вопросов пока нет.
Войдите, чтобы спросить.