Нарисовать снежинку
Написал программу для конкурса программистов. Но что-то в ней не так. Конкурс не хочет принимать. Подскажите, пожалуйста, в чём может быть проблема
Условия:
Нарисовать снежинку
Параметры снежинки:
— Ширина линии — 3 пикселя
— Ширина снежинки от левого края к правому составляет 243 пикселя
— Цвет линии — чёрный («black»)
— Цвет заливки снежинки — голубой («cyan»)
— Снежинка должна полностью помещаться на полотне.
— Ориентация снежинки должна быть как на рисунке.
— Все значения углов между отрезками снежинки кратны 60 градусам (см. вложение)
— Размер — обязательный параметр (см. вложение)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
from turtle import * pensize(3) penup() goto(-130, 30) ## координаты начала pendown() x=8.8 ## длина стороны def func(): left(120) forward(x) left(60) forward(x) right(120) forward(x) left(60) forward(x) left(300) def func2(): func() func() left(180) func() func() left(180) func() func() left(180) func() func() begin_fill() color("black") func2() func2() func2() func2() func2() func2() forward(9) color("cyan") end_fill() hideturtle() exitonclick()
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
Ответы с готовыми решениями:

Нарисовать снежинку
Приветствую, надо нарисовать снежинку, но руки не из того места <3 Условия снежинки: Должно.
Нарисовать снежинку кривой коха на turtle
может быть есть уже готовый код

Нарисовать снежинку
Если в кратце то надо нарисовать такую снежинку с помощью фракталов
Нарисовать снежинку
Долго мучался с этим заданием, сначала нужно было его сделать через консоль, потом преподаватель.

Нарисовать снежинку
Всем привет!! Помогите пожалуйста составить вот этот снежок с помощью ПАСКАЛЯ АБС
Рисуем новогодние снежинки Черепашкой
Сегодня мы нарисуем с использованием Черепашки новогодние снежинки.
Для начала попробуем нарисовать один из лучей нашей будущей снежинки. Зададим с помощью переменной line длину луча. Изменим также командой pensize() толщину и color() цвет линии на синий крайола (#1F75FE).
Продвинем Черепашку на длину нашей линии, затем вернем ее назад на треть этой длины. Повернем налево на 45 градусов, чтобы нарисовать узор на конце нашего луча. И продвинемся вперед на треть длины луча. Вернемся назад и повернем теперь направо уже на 90 градусов, чтобы нарисовать вторую часть нашего узора. Повторим команды которые мы делали для рисования левой части. После этого повернем налево на 45 градусов, чтобы Черепашка смотрела в ту же сторону, в какую мы рисовали наш луч. Вернемся в самое начало, откуда мы начали движение, проделав оставшиеся 2/3 пути.
line = 120 turtle.pensize(7) turtle.color('#1F75FE') turtle.forward(line) turtle.backward(line / 3) turtle.left(45) turtle.forward(line / 3) turtle.backward(line / 3) turtle.right(90) turtle.forward(line / 3) turtle.backward(line / 3) turtle.left(45) turtle.backward(2 * line / 3)

Но у снежинке таких лучиков может быть пять, шесть или больше. Чтобы не повторять эти команды много раз, мы вложим их в цикл со счетчиком for. Количество итераций цикла будет совпадать с количеством лучей у нашей снежинки.
Добавим переменную n отвечающую за количество лучей. Так же в конце цикла добавим поворот Черепашки налево на 360/n, чтобы развернуть Черепашку и нарисовать другие лучи снежинки.
Так как нам не нужна сама переменная со счетчиком, то мы ее можем заменить на _ в заголовке цикла.
line = 120 n = 6 turtle.pensize(7) turtle.color('#1F75FE') for _ in range(n): turtle.forward(line) turtle.backward(line / 3) turtle.left(45) turtle.forward(line / 3) turtle.backward(line / 3) turtle.right(90) turtle.forward(line / 3) turtle.backward(line / 3) turtle.left(45) turtle.backward(2 * line / 3) turtle.left(360 / n)
Теперь, когда мы умеем рисовать снежинку, напишем функцию, которая будет это делать. В качестве обязательных параметров она будет принимать координаты точки x и y центра снежинки. Из необязательных: длину луча снежинки line, толщину линии size и цвет color.
import turtle def draw_snowflake(x, y, line=120, n=6, size=5, color='#1F75FE'): """ This function draws an snowflake. """ turtle.penup() turtle.goto(x, y) turtle.pendown() turtle.color(color) turtle.pensize(size) for _ in range(n): turtle.forward(line) turtle.backward(line / 3) turtle.left(45) turtle.forward(line / 3) turtle.backward(line / 3) turtle.right(90) turtle.forward(line / 3) turtle.backward(line / 3) turtle.left(45) turtle.backward(2 * line / 3) turtle.left(360 / n) draw_snowflake(120, 100) draw_snowflake(-120, 100, 110, size=15) draw_snowflake(-100, -100, 90, 8)
Помогите решить задачу на python с помощью черепашки и цикла for
t = turtle.Turtle()
t.shape(‘turtle’)
t.speed(10)
for looper in range(1, 7):
t.forward(150)
t.backward(75)
t.left(45)
t.forward(75)
t.backward(75)
t.right(90)
t.forward(75)
t.backward(75)
t.left(45)
t.backward(75)
t.right(60)
print(looper)
t = turtle.Turtle()
t.shape(«turtle»)
t.stamp()
for i in range(6):
t.forward(100)
t.backward(50)
t.left(45)
t.forward(60)
t.backward(60)
t.left(270)
t.forward(60)
t.backward(60)
t.left(45)
t.backward(50)
t.left(60)
Рисуем снежинку Коха помощью Черепашки в Python
Чтобы нарисовать снежинку Коха, для начала надо разобраться как рисовать кривую Коха. Кивая Коха — это фрактальная кривая описанная шведским математиком Хельге фон Кохом в 1904 году. Три копии кривой Коха, образующие равносторонний треугольник и построенный остриями наружу, и образуют снежинку Коха.
Кривая Коха представляет из себя отрезок, разделенный на три равных участка, где средняя часть заменяется на равносторонний треугольник с длиной, равной 1/3 прямой. В результате получается ломаная из четырех сегментов одинаковой длины.
В нулевой итерации кривая Коха — это прямая линия.
Теперь нарисуем кривую Коха в первой итерации.
Для этого пройдем вперед на 1/3 длины нашей линии, затем повернем налево на 60° чтобы нарисовать выступ из равностороннего треугольника. Двигаемся вперед на 1/3 длины, поворачиваем направо на 120°, опять двигаемся вперед на 1/3 длины и поворачиваемся налево на 60°. Проходим еще вперед остаток 1/3 длины чтобы закончить рисовать кривую. 
import turtle size = 300 turtle.forward(size / 3) turtle.left(60) turtle.forward(size / 3) turtle.right(120) turtle.forward(size / 3) turtle.left(60) turtle.forward(size / 3)

Для рисования следующих итераций напишем уже функцию, которой будем передавать два параметра — длина нашей линии и количество итераций.
Зададим условие: если n = 0, то укажем двигаться нашей Черепашке вперед на длину переданной в параметре, в противном случае будем рисовать кривую Коха по разобранному алгоритму. Но теперь заменим команды движения на рекурсивный вызов нашей функции с параметрами size / 3 и n — 1. Тем самым, параметром n мы задаем глубину рекурсии, заставляя делить каждую грань на новую кривую Коха.
import turtle size = 300 n = 2 def koch_curve(size, n): if n == 0: turtle.forward(size) else: koch_curve(size / 3, n - 1) turtle.left(60) koch_curve(size / 3, n - 1) turtle.right(120) koch_curve(size / 3, n - 1) turtle.left(60) koch_curve(size / 3, n - 1) koch_curve(size, n)

Для рисования снежинки Коха напишем отдельную функцию, которая будет рисовать равносторонний треугольник, где вместо катетов будут нарисованы кривые Коха.
Определим функцию draw_koch_snowflake в которой с помощью цикла будем рисовать равносторонний треугольник. За три итерации будем двигать черепашку вперед на длину, переданную в первом параметре и поворачивать на 60 градусов. Таким образом, Черепашка нарисует снежинку и окажется в том же месте, с которого и начинала рисовать.
import turtle size = 300 n = 2 def koch_curve(size, n): if n == 0: turtle.forward(size) else: koch_curve(size / 3, n - 1) turtle.left(60) koch_curve(size / 3, n - 1) turtle.right(120) koch_curve(size / 3, n - 1) turtle.left(60) koch_curve(size / 3, n - 1) def draw_koch_snowflake(size, n): for i in range(3): koch_curve(size, n) turtle.right(120) draw_koch_snowflake(size, n)