#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-файл. И графика черепах может выглядеть как возможный способ сделать это.