Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/291.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何在类中导入海龟模块?_Python_Class_Turtle Graphics - Fatal编程技术网

Python 如何在类中导入海龟模块?

Python 如何在类中导入海龟模块?,python,class,turtle-graphics,Python,Class,Turtle Graphics,我正在用python绘制分形树,这是我的方法(它有效): def分形(长度): 如果长度

我正在用python绘制分形树,这是我的方法(它有效):

def分形(长度):
如果长度<1:
返回
其他:
乌龟。向前(长度)
乌龟。左(30)
分形(长度*0.67)
乌龟。对(60)
分形(长度*0.67)
乌龟。左(30)
海龟。向后(长度)
现在我试图在一个类中实现这一点,但我不知道如何使用海龟命令实现这一点

我是新的编码,所以请不要对我的代码太苛刻

我试过这样的方法:

class fractalTree():

from turtle import *

def __init__(self, angle, factor):
    self.angle = angle
    self.factor = factor

def fractal(self, length):
    if length < 1:
        return
    else:
        self.turtle.forward(length)
        self.turtle.left(self.angle)
        fractal(length * self.factor)
        self.turtle.right(self.angle * 2)
        fractal(length * self.factor)
        self.turtle.left(self.angle)
        self.turtle.backward(length)

test = fractalTree(14, 2/3)
test.fractal(100)
class fractalTree():
从海龟进口*
定义初始值(自身、角度、因子):
自我角度=角度
自我因素
def分形(自身,长度):
如果长度小于1:
返回
其他:
自我。乌龟。向前(长度)
self.turtle.left(self.angle)
分形(长度*自身系数)
self.turtle.right(self.angle*2)
分形(长度*自身系数)
self.turtle.left(self.angle)
self.turtle.backward(长度)
测试=分形树(14,2/3)
分形测试(100)

有几种方法可以做到这一点。您的自定义类可能包含海龟:

from turtle import Screen, Turtle

class fractalTree():

    def __init__(self, angle, factor):
        self.angle = angle
        self.factor = factor
        self.turtle = Turtle()

    def fractal(self, length):
        if length < 1:
            return

        self.turtle.forward(length)
        self.turtle.left(self.angle)
        self.fractal(length * self.factor)
        self.turtle.right(self.angle * 2)
        self.fractal(length * self.factor)
        self.turtle.left(self.angle)
        self.turtle.backward(length)

screen = Screen()

screen.mode('Logo')  # being lazy, make the tree upright

test = fractalTree(30, 2 / 3)

screen.tracer(False)
test.fractal(100)
screen.tracer(True)

screen.exitonclick()
class fractalTree(Turtle):

    def __init__(self, angle, factor):
        super().__init__()
        self.angle = angle
        self.factor = factor

    def fractal(self, length):
        if length < 1:
            return

        self.forward(length)
        self.left(self.angle)
        self.fractal(length * self.factor)
        self.right(self.angle * 2)
        self.fractal(length * self.factor)
        self.left(self.angle)
        self.backward(length)
从海龟导入屏幕,海龟
类fractalTree():
定义初始值(自身、角度、因子):
自我角度=角度
自我因素
self.turtle=turtle()
def分形(自身,长度):
如果长度小于1:
返回
自我。乌龟。向前(长度)
self.turtle.left(self.angle)
自分形(长度*自系数)
self.turtle.right(self.angle*2)
自分形(长度*自系数)
self.turtle.left(self.angle)
self.turtle.backward(长度)
screen=screen()
screen.mode('Logo')#懒惰的话,让树直立起来
测试=分形树(30,2/3)
屏幕跟踪(假)
分形测试(100)
屏幕跟踪(真)
screen.exitonclick()
或者,您的自定义类可以成为海龟:

from turtle import Screen, Turtle

class fractalTree():

    def __init__(self, angle, factor):
        self.angle = angle
        self.factor = factor
        self.turtle = Turtle()

    def fractal(self, length):
        if length < 1:
            return

        self.turtle.forward(length)
        self.turtle.left(self.angle)
        self.fractal(length * self.factor)
        self.turtle.right(self.angle * 2)
        self.fractal(length * self.factor)
        self.turtle.left(self.angle)
        self.turtle.backward(length)

screen = Screen()

screen.mode('Logo')  # being lazy, make the tree upright

test = fractalTree(30, 2 / 3)

screen.tracer(False)
test.fractal(100)
screen.tracer(True)

screen.exitonclick()
class fractalTree(Turtle):

    def __init__(self, angle, factor):
        super().__init__()
        self.angle = angle
        self.factor = factor

    def fractal(self, length):
        if length < 1:
            return

        self.forward(length)
        self.left(self.angle)
        self.fractal(length * self.factor)
        self.right(self.angle * 2)
        self.fractal(length * self.factor)
        self.left(self.angle)
        self.backward(length)
类分形树(海龟):
定义初始值(自身、角度、因子):
super()。\uuuu init\uuuuu()
自我角度=角度
自我因素
def分形(自身,长度):
如果长度小于1:
返回
自我向前(长度)
自左(自角度)
自分形(长度*自系数)
自右(自转角*2)
自分形(长度*自系数)
自左(自角度)
自后退(长度)
或者,您可以按照看起来的方式操作,让您的自定义类只使用海龟


您的确切问题是什么?您是否尝试过将此代码集成到使用类的更大版本中?还是仅仅为了使用类而使用类?请给我们一个更大的画面!为了使用类,我只想使用cals。我的确切问题是,我不知道如何在类中导入turtle模块。您不必在类中导入任何内容。只需继续导入
turtle
,在脚本开始时使用
import-turtle
。非常感谢。现在开始工作了,我很高兴:)