【问题标题】:Python Flowers with Turtle(s) Graphics带有海龟图形的 Python 花
【发布时间】:2017-05-12 12:11:08
【问题描述】:

我在高中的编程课上使用海龟图形,该项目是按照老师展示的一些指导方针和功能制作一朵花。我在一个小时内完成了,现在我正在尝试使用更多的乌龟一次绘制多朵花,但是我无法让乌龟使用新定义的功能,老师也没有时间与我见面一个人来讨论我该怎么做

所以经过大约一周的搜索(对于一些我不知道如何正确询问的问题,更不用说寻找),我要去我最喜欢的问题网站。因此,如果有人可以帮助我或至少为我指明正确的方向,我将不胜感激。

   import turtle

tod = turtle.Turtle
tina = turtle.Turtle
tony = turtle.Turtle
trixie = turtle.Turtle
tron = turtle.Turtle


def petal():
    for i in range(90):
        self.start = self.pos()
        self.fd(1)
        self.rt(1)
    self.rt(90)
    for i in range(90):
        self.fd(1)
        self.rt(1)

def stem(self):
    self.pencolor('green')
    self.fd(220)

def flowerhead(self):
    for i in range(9):
      begin_fill()
      petal()
      self.lt(230)
      end_fill()

def stempetal(self):
    self.seth(90)
    self.rt(15)
    fillcolor('green')
    begin_fill()
    petal()
    end_fill()

def flower1(self):
    flowerhead()
    stem()
    stempetal()

def flower2(self):
    flowerhead()
    self.stem()


tod.flower()

运行报错

Traceback (most recent call last):
  File "C:\Users\first.last\Desktop\programming\trig class\testflowerclass.py", line 49, in <module>
    tod.flower()
AttributeError: type object 'Turtle' has no attribute 'flower'

【问题讨论】:

  • 您的 sn-p 中没有 tod.flower() 呼叫。也许您发布了错误的代码?
  • 那是我输入的代码,我已经将其定义为 tod Flower 以使其工作(对 python 不太熟悉),如果是这样,我是否必须为每只海龟再次定义所有内容????
  • 我不明白你在说什么。当我运行你的代码时,我没有收到任何错误,尽管它没有任何意义。
  • 您定义的函数似乎是从一个类中删除的,因为它们引用了 self.如果您将它们编写为扩展turtle.Turtle,那么您可能应该继承turtle.Turtle
  • 另外,你的海龟不是你的类的实例。你可能需要tod = turtle.Turtle()

标签: python python-3.x turtle-graphics


【解决方案1】:

您正在使用但不熟悉的(python)编程领域似乎是类、实例和继承。这里似乎是关于课程的入门级教程:https://en.wikibooks.org/wiki/A_Beginner%27s_Python_Tutorial/Classes

在没有先介绍这个主题的情况下就分配这个主题似乎很糟糕。

您可能需要按照以下方式构建代码:

from turtle import Turtle

class MyTurtle(Turtle):
    def my_method(self):
        self.method_defined_in_turtle()
        self.other_method_defined_in_turtle()

todd = MyTurtle()
todd.my_method()

【讨论】:

  • 谢谢,我有时间就开始看那个文件
  • 非常感谢
猜你喜欢
  • 2014-03-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-12-23
  • 2018-03-19
  • 1970-01-01
  • 2018-05-30
  • 1970-01-01
相关资源
最近更新 更多