我开始玩弄我高中时写的一个程序,我知道我不记得我到底做了什么,但现在每次我运行下面的代码时,它都会给我一个名称错误,而且我已经很久没有玩海龟了,我不知道我做错了什么。你们帮了这么大的忙,让代码第一次工作,我想也许你们可以帮助像我这样的业余爱好者
我相信这可能是因为python版本现在不同了(编写于3.5中,试图在3.6中运行),但我不确定我是否认为我只是把某个地方弄糟了,只是我没有足够的智慧来解决它
from random import randint
from turtle import Turtle, Screen
class MyTurtle(Turtle):
def petals(self, size=30, count=8, speed=100):
if size == 30:
self.begin_fill()
if size > 0: # drawing leading edge of petal
self.fd(3)
self.rt(3)
screen.ontimer(lambda: self.petals(size - 1, count, speed), speed)
return
if size == 0: # switch to other edge of petal
self.rt(90)
if size > -30: # drawing trailing edge of petal
self.fd(3)
self.rt(3)
screen.ontimer(lambda: self.petals(size - 1, count, speed), speed)
return
self.end_fill() # finish this petal
self.lt(230) # prepare for the next petal
if count > 0: # drawing the next petal
screen.ontimer(lambda: self.petals(count=count - 1, speed=speed), speed)
return
self.hideturtle() # finished drawing
def flowerhead(self):
self.pencolor('red') #outlines the flowerpetals in red to see easier
self.petals(speed=9)
# self.petals(speed=randint(50, 250))
def flower1():
todd.color('green', 'blue')
todd.goto(0, -270)
todd.penup()
todd.showturtle()
todd.goto(0,0)
todd.pendown()
todd.flowerhead()
def flower2():
tony.color('green', 'purple')
tony.penup()
tony.goto(0, -200)
tony.pendown()
tony.showturtle()
tony.goto(80, -15)
tony.seth(0)
tony.flowerhead()
def flower3():
tina.color('green', 'turquoise')
tina.penup()
tina.goto(0, -200)
tina.pendown()
tina.showturtle()
tina.goto(-80, -15)
tina.seth(90)
tina.flowerhead()
def flower4():
tiny.color('green', 'black')
tiny.penup()
tiny.goto(0, -200)
tiny.pendown()
tiny.showturtle()
tiny.goto(160, -25)
tiny.seth(90)
tiny.flowerhead()
def flower5():
tweeny.color('green', 'pink')
tweeny.penup()
tweeny.goto(0, -200)
tweeny.pendown()
tweeny.showturtle()
tweeny.goto(-160, -25)
tweeny.seth(90)
tweeny.flowerhead()
def writing():
teacher.penup()
teacher.setpos(0, 120)
teacher.pendown()
teacher.color('red')
teacher.write('test', align='center', font=('Times New Roman', 30, 'normal'))
tony = MyTurtle(shape='turtle', visible=False)
todd = MyTurtle(shape='turtle', visible=False)
tina = MyTurtle(shape='turtle', visible=False)
tiny = MyTurtle(shape='turtle', visible=False)
tweeny = MyTurtle(shape='turtle', visible=False)
teacher = MyTurtle(shape='turtle', visible=False)
screen = getScreen()
screen.title('I am epic')
screen.delay(0)
screen.ontimer(flower2, 6500)
screen.ontimer(flower4, 0)
screen.ontimer(flower3, 6500)
screen.ontimer(flower5, 0)
screen.ontimer(flower1, 13000)
screen.ontimer(writing, 26000)
screen.mainloop()
给我错误的那一行是
^{pr2}$就像我说的,我认为这是版本,但我希望第二,第三,甚至第四个意见我只是一个学生试图学习如何不愚蠢
您将scree定义为get screen,如下所示:
这是调用屏幕的旧版本 尝试使用新版本
^{pr2}$相关问题 更多 >
编程相关推荐