Python 如何在类中导入海龟模块?
我正在用python绘制分形树,这是我的方法(它有效):Python 如何在类中导入海龟模块?,python,class,turtle-graphics,Python,Class,Turtle Graphics,我正在用python绘制分形树,这是我的方法(它有效): def分形(长度): 如果长度
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
。非常感谢。现在开始工作了,我很高兴:)