用Python的turtle画一个平面直角坐标系

from turtle import *

t = Turtle()
t.shape('turtle')
t._tracer(False)

def drawText(myTurtle, text, posX, posY, align='center'):
    myTurtle.up()
    myTurtle.goto(posX, posY)
    myTurtle.down()
    
    myTurtle.write(text, align=align)

def drawLine(myTurtle, startX, startY, endX, endY, color='black'):
    myTurtle.up()
    myTurtle.goto(startX, startY)
    myTurtle.down()
    
    myTurtle.pencolor(color)
    
    myTurtle.goto(endX, endY)

# draw x-axis
drawLine(t, -350, 0, 350, 0)
drawLine(t, 350, 0, 340, 5)
drawLine(t, 350, 0, 340, -5)
drawText(t, 'X', 360, -8, 'left')

# draw y-axis
drawLine(t, 0, -350, 0, 350)
drawLine(t, 0, 350, -5, 340)
drawLine(t, 0, 350, 5, 340)
drawText(t, 'Y', 0, 355)

# draw x-axis point
x = -330
while x <= 330:
    drawLine(t, x, 5, x, 0)
    if(x%100 == 0):
        drawLine(t, x, 0, x, -5)
    x += 10

# draw y-axis point
y = -330
while y <= 330:
    drawLine(t, 0, y, 5, y)
    if(y%100 == 0):
        drawLine(t, 0, y, -5, y)
    y += 10

# draw x-axis values
x = -300
y = -20
while x <= 300:
    if(x == 0):
        drawText(t, x, x-10, y)
    else:
        drawText(t, x, x, y)
    x += 100
    
# draw y-axis values
x = -5
y = -300
while y <= 300:
    if(y != 0):
        drawText(t, y, x, y-8, 'right')
    y += 100

t._tracer(True)
t.hideturtle()

mainloop()

猜你喜欢

转载自blog.csdn.net/ctbinzi/article/details/131736998