[英]python turtle goto is not working
我寫了一個烏龜程序,使用數據在圖形圖表上畫一條線。 一切工作正常,除了我在圖表線中調用make_line()。 goto已被執行,但沒有畫線。 即使我在進入While循環之前放了turtle.down()也不會畫線。
import turtle
def Change_tekenpunt(x,y):
turtle.up()
turtle.goto(x,y)
turtle.down()
def xAxisTurtle(days):
xAxis = turtle
xAxis.ht()
Change_tekenpunt(-300, -220)
x = -275
for i in range(0,days+1):
xAxis.write(i)
Change_tekenpunt(x, -220)
x+=25
def yAxisTurtle():
yAxis = turtle
yAxis.ht()
Change_tekenpunt(-310, -200)
y = -160
for i in range(0, 1601, 200):
yAxis.write(i)
Change_tekenpunt(-330, y)
y+=50
def point():
turtle.begin_fill() # Begin to fill color in a shape
turtle.color("black")
turtle.circle(3) # Draw a circle
turtle.end_fill() # Fill the shape
def make_line(x, y,gegevens):
Change_tekenpunt(x,y)
i = 0
while i < len(gegevens):
y = gegevens[i][0]
y //= 4
Change_tekenpunt(x,y)
x+=25
i+=1
def chartlines(x,y,days, gegevens):
char = turtle
Change_tekenpunt(x,y)
char.tracer(0,0)
char.speed(0)
char.ht()
point()
for i in range(days):
char.forward(25)
char.left(270)
point()
char.left(90)
char.left(180)
char.forward(25*days)
char.left(270)
for i in range(8):
char.forward(50)
char.left(90)
point()
char.left(270)
char.left(180)
char.forward(400)
xAxisTurtle(days)
yAxisTurtle()
make_line(x, y,gegevens)
問題出在Change_tekenpunt
函數中。 繪制圖形時,您需要保留turtle.down()
。 因此,您需要對Change_tekenpunt
函數進行一些更改,如下所示:
def Change_tekenpunt(x,y,up=True):
if up:
turtle.up()
turtle.goto(x,y)
turtle.down()
您可以使用此功能繪制圖表線和圖形。 我添加了一個額外的up
參數(默認為True
),因為在繪制圖形時需要將其設置為False
。 它在移動時必須向下。 因此,在make_line
函數的while循環中,將False
參數添加到Change_tekenpunt
函數調用中。
def make_line(x, y,gegevens):
Change_tekenpunt(x,y)
i = 0
while i < len(gegevens):
y = gegevens[i][0]
y //= 4
Change_tekenpunt(x, y, False) #add the False argument here
x+=25
i+=1
最后,在chartlines
函數中,將.tracer
設置為(1, 0)
。
char.tracer(0,0)
char.tracer(1,0)
add turtle.update()
at the end of the Change_tekenpunt
function. 或者你也可以添加turtle.update()
在結束Change_tekenpunt
功能。 希望這可以幫助。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.