Войти Создать аккаунт

Генераторы и итераторы · 8 из 17

Семечки по спирали

На хлебозаводе запускают круглый каравай с семечками, и Сан Саныч хочет, чтобы автомат клал их, как подсолнух: плотно, без дыр и без рядов. Тамара нашла, как это делает сам подсолнух. Каждое следующее семечко поворачивается от предыдущего на золотой угол — около 137,5° — и отходит от центра чуть дальше: на корень из своего номера. Автомат берёт точки по одной, по мере того как кладёт семечки, — значит, точки нужно отдавать по одной.

Что сделать

Отдавайте точки семечек по одной: каждое повёрнуто на золотой угол от предыдущего и отходит от центра на корень из своего номера.

Что приходит

  • n — сколько семечек

  • shag — масштаб: на каком расстоянии от центра лежит семечко номер 1

Что вернуть

Генератор пар (x, y) — по одной на семечко, номера от 0 до n − 1.

Допишите функцию semechki в редакторе справа. Результат верните через return — то, что напечатано, на проверку не влияет.

с графикой когда тесты пройдут, ответ вашей функции нарисуется · все задачи с графикой

Пример

Четыре семечка с масштабом 1. Нулевое — в центре, (0.0, 0.0). Первое — на расстоянии 1 под углом 137,5°, примерно (-0.74, 0.68). Второе — на расстоянии √2 ≈ 1,41 под углом 275°, третье — на √3 под углом 412,5°, то есть 52,5°. В проверке точки округлены до сотых.

Тот же пример кодом
Вызов
[(round(x, 2) + 0, round(y, 2) + 0) for x, y in semechki(4, 1)]
Вернуть
[(0.0, 0.0), (-0.74, 0.68), (0.12, -1.41), (1.05, 1.37)]
Ctrl+Enter — проверить

Обсуждение

Вопросов пока нет.

Войдите, чтобы спросить.