#python #loops #python-turtle
Вопрос:
Я пытаюсь заставить графику черепахи Python построить серию вычислений x
и y
значений на основе приведенных ниже формул. Все вычисления работают, но я хочу, чтобы перо опускалось только с первой вычисленной (x, y)
точки, а не с начала координат. Моя идея состояла в том, чтобы проверить, когда i = 0
(в первый раз через for
цикл) и поднять перо, прежде чем перейти к первой вычисленной (x, y)
точке. После этого, когда i
значение больше 0, перо будет опущено, и линия будет проведена к следующей вычисленной (x, y)
точке. Я уверен, что в моем коде есть простое исправление, но я не могу его обнаружить. Может быть, кто-то (все???) можете указать мне на ошибку(ы)??? Спасибо!
penup()
for i in range(20000):
speed(10)
x1 = 200*sin(f1*t p1)*e**(-t*d1) 200*sin(f2*t p2)*e**(-t*d2)
y1 = 200*sin(f3*t p3)*e**(-t*d3) 200*sin(f4*t p4)*e**(-t*d4)
setpos(x1,y1)
pendown()
t = dt
Комментарии:
1. Вы могли бы поставить
turtle.up()
перед петлей, затем внутри петли поставитьsetpos(x1, y1)
, а затемturtle.down()
.2. Также довольно часто можно проверить переменную цикла, как вы это сделали. Или установите флаг «инициализировано» в значение False перед началом, затем внутри цикла проверьте эту переменную, выполните инициализацию, а затем установите значение True.
3. Большое спасибо за помощь. Я могу добавить penup() перед циклом, и я вижу, что черепаха движется, как и ожидалось (без нарисованных линий). Однако, когда я добавляю pendown() после setpos(x1,y1), код завершается ошибкой. Вот как это выглядит сейчас.
4. Ваш основной код выглядит в основном нормально, за исключением
t = dt
того, что, вероятно, вы должны быть в долгу за то, чтобы поместить его в цикл. Я не могу прочитать код, вставленный в ваш комментарий.5. Я отредактировал свой исходный код, так как новый код в комментариях не работал. Я проверю местоположение t = dt