用Turtle绘制斐波那契—————银杏树枝

这篇博客通过Python的Turtle库实现了一个绘制斐波那契数列形状的银杏树枝,利用递归生成斐波那契数列,并以此控制树枝的生长。主要涉及递归函数、随机数生成、图形绘制等技术。
摘要由CSDN通过智能技术生成

import turtle
import random
from math import *                        *代表所有内容
print(turtle.heading())
def Fibonacci_Recursion_tool(n):
    if n <= 0:
        return 0
    elif n == 1:
        return 1
    else:
        return Fibonacci_Recursion_tool(n - 1) + Fibonacci_Recursion_tool(n - 2)这段代码是在区分斐波那契的位数,因为斐波那契数列的前两项是一样的,都是1,从第三位开始才是前两个数加起来的得到下一个数。
def Fibonacci_Recursion(n):
    result_list = []

这段代码是在生成斐波那契数列,并存入列表。
    for i in range(1, n + 3):
        result_list.append(Fibonacci_Recursion_tool(i))
    return result_list
yu = Fibonacci_Recursion(10) 
print(yu)

这段代码是在打印斐波那契数列。
def leaf(x, y, node):
    til = turtle.heading()
    i = random.random()
    an = random.randint(10, 180)
    ye = random.randint(6, 9)/10
    turtle.color(ye, ye*0.9, 0)
    turtle.fillcolor(ye+0.1, ye+0.05, 0)
    turtle.pensize(1)
    turtle.pendown()
    turtle.setheading(an + 90)
    turtle.forward(8*i)
    px = turtle.xcor()
    py = turtle.ycor()
    turtle.begin_fill()
    turtle.circle(7.5*i, 120)  这段代码是在画一段120度的弧线。
    turtle.penup()  这段代码是在抬起笔来。
    turtle.goto(px, py)  这段代码是在 回到圆点位置。
    turtle.setheading(an + 90)  这段代码是在向上画。
    turtle.pendown()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值