首页 > 解决方案 > Clear() 清除整个屏幕,而不只是一个海龟图纸?

问题描述

我正在尝试在 python 中使用海龟制作卡片程序,但遇到了问题。我有多只乌龟,并试图只清除其中的一个,以制造另一张牌进入游戏的错觉。当我尝试只清除其中一个海龟图纸时,它清除了整个屏幕。我不知道为什么它清除了一切。这是我为测试它而编写的代码。(我在 Pythonista 上)

进口龟

t = turtle.Turtle()

b = 乌龟.乌龟()

对于范围内的 i (4):t.forward(100) t.left(90)

对于范围内的 i (4):b.backward(100) b.right(90)

t.clear()

标签: turtle-graphics

解决方案


您的代码在标准 Python 发行版下对我来说很好。通常的问题是调用屏幕的clear()方法而不是乌龟的clear()方法,但您似乎已经正确地做到了:

from turtle import Screen, Turtle

screen = Screen()

a = Turtle()
b = Turtle()

for _ in range(4):
    a.forward(100)
    a.left(90)

for _ in range(4):
    b.backward(100)
    b.right(90)

a.clear()

screen.exitonclick()

因此,如果上述方法也失败了,这可能是 Pythonista 的 turtle.py 库的实现问题,我认为这是自定义的,因为他们可能不想复制 tkinter 和 Tk。


推荐阅读