Python龟,删除行

时间:2016-04-11 13:32:30

标签: python turtle-graphics

您好我试着学习如何在python中使用turtle,我做了以下代码来绘制我的姓名首字母(V T),但我不知道如何摆脱黑线。

import turtle

def draw_myname():
     window = turtle.Screen()
     window.bgcolor("red")

    #Create the V letter - Draw V
     vita = turtle.Turtle()
     vita.shape("turtle")
     vita.color("yellow")
     vita.speed(2)
     vita.right(75)
     vita.forward(100)
     vita.left(150)
     vita.forward(100)
     vita.right(75)

     #Create the T letter - Draw T
     vita = turtle.Turtle()
     vita.goto(100,0)
     vita.shape("turtle")
     vita.color("blue")
     vita.forward(5)
     vita.forward(100)
     vita.back(50)
     vita.right(90)
     vita.forward(100)

     window.exitonclick()
draw_myname()

enter image description here

4 个答案:

答案 0 :(得分:3)

您必须设置turtle.up(),以便在移动时不会划线。移动前和准备好添加vita.up()时添加vita.down()

#Create the T letter - Draw T
vita = turtle.Turtle()
vita.up() #add this
vita.goto(100,0)
vita.down() #add this
vita.shape("turtle")
vita.color("blue")
vita.forward(5)
vita.forward(100)
vita.back(50)
vita.right(90)
vita.forward(100)

答案 1 :(得分:1)

使用 python 3.8,带乌龟。 我的经验是获取背景,设置笔颜色后,使用color(col),在以下两种情况下都返回col:

foreground, background = color()
foreground = pencolor()
background = fillcolor()

我在“擦除线条”方面的唯一成功,例如,用相同颜色的较细线条替换较粗线条是使用以下代码,明确使用“白色”作为背景:

side = 100
def move_x():
    """ Change current and subsequent lines to a thinner line
    """
    foreground = pencolor()
    background = "white"
    print(f"foreground:{foreground} background:{background}")
    color(background)       # Erase previous line
    backward(side)
    color(foreground)
    t = width()
    t -= 1
    if t < 1:
        t = 1
    width(t)
    forward(side)

答案 2 :(得分:0)

使用功能penup()。或者,对于您来说,vita.penup()

答案 3 :(得分:0)

除了发布的其他答案外,另一种方法可能是:

您不必重新定义乌龟(命名乌龟,更改其形状和材质),但必须更改其颜色。

此外,如果您要擦除黑线,我使用的方法是将乌龟的颜色更改为背景色并重叠黑线。