Написать функцию info(dots, dot), которой передаются два параметра — последовательность точек dots и ещё одна точка dot. Точка — это кортеж или список из двух вещественных чисел, последовательность dots может быть итератором. В dots лежат координаты вершин (возможно, невыпуклого) многоугольника без самопересечений (это проверять не надо). Функция должна возвращать три значения: периметр многоугольника, информацию о том, выпуклый ли он, и принадлежит ли точка многоугольнику.

   1 tri = (0, 0), (0, 4), (3, 0)
   2 dot, dot2, odot, odot2 = (1, 1), (1, 2), (2, 1), (-1, -1)
   3 print("{:.2f} {} {}".format(*info(tri, dot)))
   4 print("{:.2f} {} {}".format(*info(tri, odot)))
   5 print("{:.2f} {} {}".format(*iter(info(tri + (odot,), dot2))))
   6 print("{:.2f} {} {}".format(*info(tri + (odot,), odot2)))

Наверное, эту задачу можно решать вообще без применения itertools. Однако поскольку мы упражняемся именно в итераторах, просьба решать её с максимальным использованием итераторов.

12.00 True True
12.00 True True
12.65 False True
12.65 False False

Кажется мне, что задача сложная, поэтому… (нажмите «Комментарии» в шапке страницы, чтобы прочитать спойлер)


CategoryHomework

LecturesCMC/PythonIntro2025/Homework_PolyDot (последним исправлял пользователь ВячеславКрет 2025-10-25 17:55:16)