안녕하세요 저는 경주 트랙 (같은 크기이지만 별도 트랙)에서 두 거북을 설정하도록 요청받은 과제가 있습니다. 나는 그들을 움직일 수 있지만 두 번째는 첫 번째가 트랙의 절반을 움직일 때만 움직인다. 나는 거북이를 동시에 움직이는 방법을 모르겠다. 여기에 내 코드가있다. 그것에 대해 알고 싶다면 저를 도와주세요. 고맙습니다!동시에 여러 거북이를 비단뱀으로 움직이는 방법?
import turtle
import random
import time
wn = turtle.Screen()
wn.bgcolor("lightgreen")
t = turtle.Turtle()
t.shape('turtle')
t.color('red')
t2 = turtle.Turtle()
t2.shape('turtle')
t2.color('blue')
#user input function
p = float(input('please insert the perimeter:'))
#set the track
def drawTrack(p,r):
shortside = (p/2.0)/(r+1)
longside = r*shortside
turtle.setup((shortside*2)+60, longside +40)
t.penup()
t2.penup()
t.setposition(-shortside-10, -longside/2)
t2.setposition(10, -longside/2)
for i in range (2):
#first track
t.speed(1)
t.pendown()
t.forward(shortside)
t.left(90)
t.forward(longside)
t.left(90)
#second track
t2.speed(1)
t2.pendown()
t2.forward(shortside)
t2.left(90)
t2.forward(longside)
t2.left(90)
drawTrack(p,2)
wn.exitonclick()
회신 해 주셔서 감사합니다. – CodeLearner
수익 (0), 다음 (발전기 1, 1) + 다음 (발전기 2, 1) <2) : 이 통과하는 동안 코드 줄을 설명해 주실 수 있습니까? 브라켓의 # 1은 무엇을 의미합니까? – CodeLearner
@ CodeLearner, 여기에 약간의 속임수가 있습니다. 발전기는 0을 산출하거나 결과가 부족합니다. 'next (..., 1)'에 대한 선택적인 두 번째 인수는 생성기의 결과가 떨어지면 반환해야하는 것이다. 그래서, 두 개의'next()'문장의 합이 2가 될 때까지, 생성자 중 하나는 여전히 결과를 산출하고 있습니다. 나는. 적어도 하나의 거북이가 여전히 경주를하고 있으므로 계속 발전기를 가동하십시오. – cdlane