turtle库函数递归
时间: 2023-10-08 21:11:13 浏览: 44
turtle库中有一些函数可以使用递归来实现一些有趣的图形,比如树形结构、分形等等。
下面是一个使用递归函数绘制分形树的示例代码:
```python
import turtle
def tree(branch_len, t):
if branch_len > 5:
t.forward(branch_len)
t.right(20)
tree(branch_len - 15, t)
t.left(40)
tree(branch_len - 15, t)
t.right(20)
t.backward(branch_len)
def main():
t = turtle.Turtle()
my_win = turtle.Screen()
t.left(90)
t.up()
t.backward(100)
t.down()
t.color("green")
tree(75, t)
my_win.exitonclick()
main()
```
这个程序使用了一个名为`tree`的递归函数,它接受两个参数:分支长度`branch_len`和`turtle`对象`t`。在函数内部,首先检查分支长度是否大于5,如果是,就向前移动分支长度的距离,然后右转20度,调用自身函数,并将分支长度减去15,这样就可以绘制出树形结构的分支。然后左转40度,再次调用自身函数,这次也是将分支长度减去15,这样就可以绘制出分支的分支。最后,右转20度,向后移动分支长度的距离,回到原来的位置。
在`main`函数中,我们创建了一个`turtle`对象并将其命名为`t`,然后调用`tree`函数并传入分支长度和`t`对象。最后,我们使用`turtle`库中的`Screen`对象创建了一个窗口,并在单击窗口时退出程序。
这个程序可以绘制出一个分形树,分支越来越小,越来越细。你可以尝试修改分支长度、角度、颜色等参数,或者尝试实现其他的递归函数来绘制不同的形状。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![py](https://img-home.csdnimg.cn/images/20210720083646.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)