Информатика, вопрос задал pups12349 , 1 год назад

даю 30 балов!!!!
зробити у python!!!!!!!!!!

Приложения:

Ответы на вопрос

Ответил dian0n
0

Ответ:

import turtle

import math

# Запросить количество углов у пользователя

n = int(input("Введите количество углов многоугольника: "))

# Создать окно для рисования

window = turtle.Screen()

# Создать черепашку для рисования

t = turtle.Turtle()

# Рассчитать координаты вершин многоугольника

center_x = 0

center_y = 0

radius = 100

angle = 360 / n

vertices = []

for i in range(n):

   x = center_x + radius * math.cos(math.radians(i * angle))

   y = center_y + radius * math.sin(math.radians(i * angle))

   vertices.append((x, y))

# Нарисовать многоугольник

t.penup()

t.goto(vertices[0])

t.pendown()

for v in vertices:

   t.goto(v)

t.goto(vertices[0])

# Закрасить многоугольник

fill_color = input("Хотите ли вы закрасить многоугольник? (да/нет): ")

if fill_color == "да":

   t.fillcolor("green")

   t.begin_fill()

   for v in vertices:

       t.goto(v)

   t.end_fill()

# Закрыть окно после щелчка мыши

window.exitonclick()

Объяснение:

1 Запросить у пользователя количество углов многоугольника с клавиатурой.

2 Создать пустой холст или окно для рисования многоугольника.

3 Рассчитать координаты вершины многоугольника, используя формулу для вычисления координат вершины правильного многоугольника: x[i] = centerX + радиус * cos(2 * PI * i / n) y[i] = centerY + радиус * sin(2 * PI * i / n) где centerX и centerY - координаты центра многоугольника, radius - радиус описанной окружности многоугольника, n - количество углов многоугольника, i - номер вершины (от 0 до n-1).

4 судьба цикла, изображающая линию между вершинами многоугольника.

5 Если пользователь хочет закрасить многоугольник, можно использовать алгоритм полного охвата области (например, алгоритм заполнения по флагу).

6 Отобразить результат на экране.

Новые вопросы