首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >海龟NameError

海龟NameError
EN

Stack Overflow用户
提问于 2017-11-28 14:35:09
回答 1查看 1.6K关注 0票数 0

我开始玩我在高中时写的一个程序,我知道我不记得我到底做了什么,但是现在每次我运行下面的代码都会给我一个名字错误,而且我已经很久没有玩过乌龟了,我不知道我做错了什么。我第一次看到你们帮了我这么大的忙,也许你们可以再帮我这样的业余爱好者

我相信这可能是因为python的版本现在不同了(写在3.5中,试图在3.6中运行),但我不确定我只是在某个地方搞砸了什么东西,我只是不够聪明,搞不清楚

代码语言:javascript
复制
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()

给我错误的行是

代码语言:javascript
复制
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

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

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-11-28 14:43:58

您将屏幕定义为get屏幕,如下所示:

代码语言:javascript
复制
screen=getScreen()

这是调用屏幕的旧版本,请使用新版本,

代码语言:javascript
复制
screen = turtle.Screen()
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47534115

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档