龟名错误

Turtle NameError

我开始玩弄一个我在高中时写的程序,我知道我不记得我到底做了什么,但现在每次我 运行 下面的代码都会给我一个名称错误,它已经很久以来我一直在玩乌龟,我不知道我做错了什么。你们帮了我很多忙让这段代码第一次运行,但也许你们可以再次帮助像我这样的业余爱好者

我相信这可能是 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()

给我错误的行是

screen = getScreen()

Traceback (most recent call last):
  File "E:\programming\trig class\Multiple flowers runnig at once.py", line 106, in <module>
    screen = getscreen()
NameError: name 'getscreen' is not defined

就像我说的,我认为这是版本问题,但我希望能提供第二、第三甚至第四种意见我只是一个试图学习如何不犯傻的学生

您将 scree 定义为这样获取屏幕:

screen=getScreen()

这是调用屏幕的旧版本 尝试使用

的新版本
screen = turtle.Screen()