Фрактальный дизайн для svg-файла

#python #python-2.7 #turtle-graphics

#python #python-2.7 #черепаха-графика

Вопрос:

Я очень новичок в программировании, и я пытаюсь создать файл svg с дизайном фрактальной спирали на одном из крыльев коробки. У меня возникли трудности с этим, и я надеюсь, что кто-нибудь может дать некоторые рекомендации относительно того, где я ошибаюсь.

Вот часть моего кода:

 import turtle

def spiral(x, y):

    spiral1 = turtle.setpos({},{})

    return spiral1.format(x,y)

    t = turtle.Turtle()
    t.pensize(1)
    t.pencolor('orange')
    t.speed(0)
    for i in range (10):
        t.circle(10   i, 45)

spiral_1 = spiral(int(box_x)*96, int(box_height)*96)
 

это выдает ошибку: неподдерживаемые типы операндов для * ‘dict’ и ‘float’

По сути, я хочу записать эту спираль в мой фактический svg-файл, который имеет определенные координаты, которые я уже определил (например, box_height)). Я не совсем уверен, куда идти дальше. Я был бы очень признателен за вашу помощь.

Редактировать: возможно, мне нужно выяснить, как сгенерировать шаблон с помощью svg-кода, а не turtle

Ответ №1:

Я надеюсь, что кто-нибудь может дать некоторые рекомендации относительно того, где я ошибаюсь

Мне трудно понять, куда вы пошли правильно:

 spiral1 = turtle.setpos({},{})
 

Похоже, что это не синтаксис аргумента Python и setpos() всегда возвращается None , поэтому нет смысла сохранять результат в spiral1 .

 return spiral1.format(x,y)
 

None не имеет format() метода. Кроме того, return на этом этапе кода он игнорирует следующие шесть строк кода. Фактически, вообще не рисование.

 spiral_1 = spiral(int(box_x)*96, int(box_height)*96)
 

spiral() не возвращает ничего полезного, поэтому нет смысла сохранять результат. Давайте переработаем ваш код так, чтобы он действительно рисовал спираль:

 from turtle import Screen, Turtle

box_x, box_y = 96, 96

def spiral(x, y):

    turtle.penup()
    turtle.setposition(x, y)
    turtle.pendown()

    for i in range(100):
        turtle.circle(10   i, 45)

screen = Screen()

turtle = Turtle()
turtle.pencolor('orange')
turtle.speed('fastest')

spiral(box_x, box_y)

screen.exitonclick()
 

Я не понимаю, почему этот вопрос помечен [fractals] . Я также не понимаю, почему он помечен [xml] и [svg], поскольку это простой синтаксис Python и вопрос с черепашьей графикой. И вам действительно не стоит начинать работу с Python 2.7, поскольку он больше не поддерживается.

введите описание изображения здесь

Комментарии:

1. Кажется, что они хотят создать svg-файл. И графика черепах может выглядеть как возможный способ сделать это.