不想秃的医学僧 发表于 2022-1-21 17:08:07

询问代码含义

for i in range(0,19):下面第二行的 t.goto(x1,x1-30*i)是什么意思呢

不想秃的医学僧 发表于 2022-1-21 17:09:55

这是我自己写的,图片是老师写的,但我有点没看明白

import turtle

t = turtle.Pen()
t.width(2)
t.speed(0)

for i in range(18):
    t.penup()
    t.goto(-300,300-i*20)
    t.pendown()
    t.goto(100,300-i*20)
    t.penup()
    t.goto(-270+i*20, 320)
    t.pendown()
    t.goto(-270+i*20, -60)
turtle.done()

聂嘉辉 发表于 2022-1-21 18:35:36

goto(x, y)是移動到x和y指定的位置的意思。

翼是孤独 发表于 2022-1-21 18:46:02

每次打印出来就懂了
for i in range(0,19):
    t.penup()
    t.goto(x1,x1-30*i)
   #添加
    print( '(' + str(x1) + ',' + str(x1-30*i) + ')', end ='->')
   
    t.pendown()
    t.goto(x1,x1-30*i)
    #添加
    print( '(' + str(x1) + ',' + str(x1-30*i) + ')')
打印结果:
(-400,400)->(140,400)
(-400,370)->(140,370)
(-400,340)->(140,340)
(-400,310)->(140,310)
(-400,280)->(140,280)
(-400,250)->(140,250)
(-400,220)->(140,220)
(-400,190)->(140,190)
(-400,160)->(140,160)
(-400,130)->(140,130)
(-400,100)->(140,100)
(-400,70)->(140,70)
(-400,40)->(140,40)
(-400,10)->(140,10)
(-400,-20)->(140,-20)
(-400,-50)->(140,-50)
(-400,-80)->(140,-80)
(-400,-110)->(140,-110)
(-400,-140)->(140,-140)

到这理解了就不用往下看了

可以这样理解
(-400,400)       ...      (400,400)
   ...                              ...
(-400,-400)   ...         (400,-400)
是一张800x800大小的画板

你不是指定了width 和num 吗,这样就确定了你要画的棋盘大小,x1存的是 棋盘左上角坐标 和 右上角坐标, y1村的是棋盘左下角坐标 和 右下角坐标
可以理解为一个大正方形画板里面,靠近左上要画一个小正方形的棋盘,棋盘规格是 num*width x num* width 的正方形
画的时候是贴着画板左上角画的
第一个for是画横线,每画一行间隔30
第二个for画纵线,每画一格间隔30

不想秃的医学僧 发表于 2022-1-22 13:12:55

聂嘉辉 发表于 2022-1-21 18:35
goto(x, y)是移動到x和y指定的位置的意思。

谢谢啦,我之前没太表达清楚,我的意思其实是他写的X1【0】【0】指的是哪个坐标呢

不想秃的医学僧 发表于 2022-1-22 13:49:29

翼是孤独 发表于 2022-1-21 18:46
每次打印出来就懂了

打印结果:


谢谢啦,最近诸事不顺,很感谢你打这么多字帮我{:10_266:}
页: [1]
查看完整版本: 询问代码含义