python-3.x 为什么我的turtle代码只画了三个矩形,而它应该画四个呢?

6jygbczu  于 2022-11-19  发布在  Python
关注(0)|答案(2)|浏览(119)

这是一个从我的主代码中分支出来的彩票生成器。这两个函数的用途:(1)drawButton(length)创建矩形按钮。(2)createMenu()调用drawButton(length)并用标签填充按钮。
我的问题是,当主代码试图返回主菜单时,它会运行turtle.clearscreen()。在编写主菜单后不久,它没有绘制第一个矩形/按钮。
如果你们得到的结果和我不一样就告诉我。

import turtle
import time

t1 = turtle.Turtle()
t1.speed(0)
t1.penup()

def drawButton(length):
    length1 = length*5
    for i in range(2):
        t1.fd(length1)
        t1.lt(90)
        t1.fd(length)
        t1.lt(90)

def createMenu():
    t1.sety(-13)
    down = t1.ycor()

    for i in range(4):
        t1.goto(-150, down)
        t1.pendown()
        drawButton(60)
        t1.penup()
        down = t1.ycor()-100

createMenu()
time.sleep(2)

turtle.clearscreen()

createMenu()

turtle.done()

下面是程序在第二个函数调用中应该绘制的内容:

下面是第二个函数调用后得到的结果:

s6fujrry

s6fujrry1#

有一个简单的修复方法,只需将turtle.clearscreen()更改为t1.clear()。它们是两个不同的命令,工作方式也不同。https://stackoverflow.com/a/42260054/18554284此答案更好地解释了它们的工作方式

2w2cym1i

2w2cym1i2#

尝试使用turtle.resetscreen()也重置turtle的状态。

相关问题