Бесплатный урок с нашим репетитором!

Узнать подробнее

Новая Школа - онлайн-школа подготовки к ЕГЭ
При поддержке
Посмотреть все вопросы нейросети
Бесплатный пробный урок с репетитором

Узнай больше про репетиторов Новой Школы и запишись на бесплатный пробный урок. Мы проверим твой уровень знаний и составим план обучения по любому предмету и классу

Вопрос от Анонимного юзера 22 ноября 2025 12:14

Как построить пятиконечную звезду на python?

Ответ нейросети

22 ноября 2025 12:14

Классная задача: пятиконечную звезду можно построить разными способами. Самый простой способ в программах — взять 5 точек на окружности (регулярный пентагон) и соединить их в порядке 0→2→4→1→3→0. Это образует пятиконечную звезду (пентакрис). Ниже два удобных варианта: через matplotlib (для статического изображения) и через turtle (интерактивное рисование).

Что нужно понять заранее

  • Берём центр звезды (cx, cy) и радиус R.
  • Точки вокруг окружности: для k = 0..4 угол θk = 2πk/5. Координаты: (cx + R cos θk, cy + R sin θk).
  • Порядок рисования звезды: [0, 2, 4, 1, 3] и затем возвращаемся в начальную точку.
  • Для заливки используйте замкнутый путь: star_points + [star_points[0]].

Вариант 1: matplotlib (статическое изображение)

  • Подходит для ноутбуков, сохранения картинок и т.д.

Code (plain text):

import math import matplotlib.pyplot as plt

def pentagram_points(cx=0.0, cy=0.0, R=1.0, start_angle=0.0): # вычисляем 5 вершинRegular pentagon pts = [] for k in range(5): a = start_angle + 2math.pik/5 x = cx + Rmath.cos(a) y = cy + Rmath.sin(a) pts.append((x, y)) # порядок, который даёт звезду order = [0, 2, 4, 1, 3] return [pts[i] for i in order]

def plot_pentagram(cx=0.0, cy=0.0, R=1.0, start_angle=0.0, fill=False, color='black'): star = pentagram_points(cx, cy, R, start_angle) if fill: # замыкаем путь и заполняем xs, ys = zip(*star + [star[0]]) plt.fill(xs, ys, facecolor='gold', edgecolor=color, alpha=0.8) else: xs, ys = zip(*star) # замыкаем контур звезды plt.plot(list(xs) + [xs[0]], list(ys) + [ys[0]], color=color)

plt.axis('equal')
plt.grid(True)

plt.figure(figsize=(4,4)) plot_pentagram(R=1.0, fill=False, color='blue') plt.show()

Как запустить и что увидеть:

  • Запустите скрипт — вы увидите контур звезды.
  • Чтобы заполнить звезду цветом, вызовите plot_pentagram(..., fill=True).

Вариант 2: turtle (интерактивное рисование)

  • Подходит для простых уроков и наглядности в окне графики.

Code (plain text):

import turtle import math

def pentagram_points_turtle(cx=0.0, cy=0.0, R=100.0, start_angle=0.0): pts = [] for k in range(5): a = math.radians(start_angle) + 2math.pik/5 x = cx + Rmath.cos(a) y = cy + Rmath.sin(a) pts.append((x, y)) order = [0, 2, 4, 1, 3] return [pts[i] for i in order]

def draw_pentagram_turtle(R=100.0, start_angle=0.0, fill=False): pts = pentagram_points_turtle(0, 0, R, start_angle) t = turtle.Turtle() t.speed(0)

if fill:
    t.penup()
    t.goto(pts[0])
    t.pendown()
    t.begin_fill()
    for p in pts[1:] + [pts[0]]:
        t.goto(p)
    t.end_fill()
else:
    t.penup()
    t.goto(pts[0])
    t.pendown()
    for p in pts[1:] + [pts[0]]:
        t.goto(p)

turtle.done()

Пример использования:

Чтобы нарисовать пустую звезду:

draw_pentagram_turtle(R=150, start_angle=0, fill=False)

Чтобы заполнить звезду цветом:

draw_pentagram_turtle(R=150, start_angle=0, fill=True)

Замечания и советы

  • Величина R задаёт размер звезды; можно изменить центр cx, cy для сдвига на экране.
  • Если хотите повернуть звезду, изменяйте start_angle. Например, start_angle = math.pi/10 сдвинёт на небольшой угол.
  • Для красивой заливки используйте fill=True в matplotlib; в turtle заливка может выглядеть по-разному из-за самопересечений.

Если скажете, какой инструмент удобнее (matplotlib или turtle) и где вы планируете использовать звезду (скрипт, ноутбук, учебный проект), могу подстроить код под ваш случай и добавить дополнительные варианты (например, заливку цветом по градиенту, анимацию рисования и т. п.).

Задай свой вопрос

Напиши любую задачу или вопрос, а нейросеть её решит

Похожие вопросы 15

Бесплатно Мобильное приложение ГДЗ
Мобильное приложение ГДЗ

Задавай вопросы искуcственному интеллекту текстом или фотографиями в приложении на iPhone или Android

qr-codegoogle-playapp-store

Саша — ассистент в телеграмме

как построить пятиконечную звезду на python?
Классная задача: пятиконечную звезду можно построить разными способами. Самый простой способ в программах — взять 5 точек на окружности (регулярный пентагон) и соединить их в порядке 0→2→4→1→3→0. Это образует пятиконечную звезду (пентакрис). Ниже два удобных варианта: через matplotlib (для статического изображения) и через turtle (интерактивное рисование). Что нужно понять заранее - Берём центр звезды (cx, cy) и радиус R. - Точки вокруг окружности: для k = 0..4 угол θk = 2πk/5. Координаты: (cx + R cos θk, cy + R sin θk). - Порядок рисования звезды: [0, 2, 4, 1, 3] и затем возвращаемся в начальную точку. - Для заливки используйте замкнутый путь: star_points + [star_points[0]]. Вариант 1: matplotlib (статическое изображение) - Подходит для ноутбуков, сохранения картинок и т.д. Code (plain text): import math import matplotlib.pyplot as plt def pentagram_points(cx=0.0, cy=0.0, R=1.0, start_angle=0.0): # вычисляем 5 вершинRegular pentagon pts = [] for k in range(5): a = start_angle + 2*math.pi*k/5 x = cx + R*math.cos(a) y = cy + R*math.sin(a) pts.append((x, y)) # порядок, который даёт звезду order = [0, 2, 4, 1, 3] return [pts[i] for i in order] def plot_pentagram(cx=0.0, cy=0.0, R=1.0, start_angle=0.0, fill=False, color='black'): star = pentagram_points(cx, cy, R, start_angle) if fill: # замыкаем путь и заполняем xs, ys = zip(*star + [star[0]]) plt.fill(xs, ys, facecolor='gold', edgecolor=color, alpha=0.8) else: xs, ys = zip(*star) # замыкаем контур звезды plt.plot(list(xs) + [xs[0]], list(ys) + [ys[0]], color=color) plt.axis('equal') plt.grid(True) plt.figure(figsize=(4,4)) plot_pentagram(R=1.0, fill=False, color='blue') plt.show() Как запустить и что увидеть: - Запустите скрипт — вы увидите контур звезды. - Чтобы заполнить звезду цветом, вызовите plot_pentagram(..., fill=True). Вариант 2: turtle (интерактивное рисование) - Подходит для простых уроков и наглядности в окне графики. Code (plain text): import turtle import math def pentagram_points_turtle(cx=0.0, cy=0.0, R=100.0, start_angle=0.0): pts = [] for k in range(5): a = math.radians(start_angle) + 2*math.pi*k/5 x = cx + R*math.cos(a) y = cy + R*math.sin(a) pts.append((x, y)) order = [0, 2, 4, 1, 3] return [pts[i] for i in order] def draw_pentagram_turtle(R=100.0, start_angle=0.0, fill=False): pts = pentagram_points_turtle(0, 0, R, start_angle) t = turtle.Turtle() t.speed(0) if fill: t.penup() t.goto(pts[0]) t.pendown() t.begin_fill() for p in pts[1:] + [pts[0]]: t.goto(p) t.end_fill() else: t.penup() t.goto(pts[0]) t.pendown() for p in pts[1:] + [pts[0]]: t.goto(p) turtle.done() # Пример использования: # Чтобы нарисовать пустую звезду: # draw_pentagram_turtle(R=150, start_angle=0, fill=False) # Чтобы заполнить звезду цветом: # draw_pentagram_turtle(R=150, start_angle=0, fill=True) Замечания и советы - Величина R задаёт размер звезды; можно изменить центр cx, cy для сдвига на экране. - Если хотите повернуть звезду, изменяйте start_angle. Например, start_angle = math.pi/10 сдвинёт на небольшой угол. - Для красивой заливки используйте fill=True в matplotlib; в turtle заливка может выглядеть по-разному из-за самопересечений. Если скажете, какой инструмент удобнее (matplotlib или turtle) и где вы планируете использовать звезду (скрипт, ноутбук, учебный проект), могу подстроить код под ваш случай и добавить дополнительные варианты (например, заливку цветом по градиенту, анимацию рисования и т. п.).