我有以下代码:
answer = "ABC"
flag.goto(-999, -999)
while (answer.lower != 'y' or answer.lower != 'n'):
print("You got the flag! Free play(y/n)?")
answer = input("")
if answer.lower == 'y':
pass
if answer.lower == 'n':
return None
我正在尝试通过将乌龟flag
添加到列表中,然后使用del(testlist[0])
将其删除来删除乌龟,但这没有用。
输出为:
You got the flag! Free play(y/n)?
y
You got the flag! Free play(y/n)?
n
You got the flag! Free play(y/n)?
答案 0 :(得分:1)
您的问题令人困惑,因为标题和文本只问一件事,
而示例代码和输出却显示出完全不同的情况。
让我们解决这个问题:
有没有办法从屏幕上删除乌龟?
通常turtle.hideturtle()
会做您想要的。一旦被破坏,处置的唯一方法就是通过screen.clear()
破坏所有 的动物。
(上面的变量turtle
需要设置为Turtle()
的实例,变量screen
需要设置为Screen()
的单数实例。
答案 1 :(得分:1)
您可以通过此documentation更好地了解海龟的可见性。
基本上,您可以使用turtle.hideturtle()
或turtle.ht()
来使乌龟不可见。
但这并不意味着乌龟已被移除,因此它仍然占用内存。
您可以呼叫turtle.Screen.clear()
,但这会重置所有,甚至包括您可能想要保留的东西。
如果我要删除乌龟而不是隐藏它们,因为一遍又一遍地这样做会占用太多内存,那么我只会隐藏乌龟,而当程序需要另一只乌龟时,创建另一只乌龟的过程,只需取消隐藏隐藏的乌龟即可再次使用。