用Turtle画银杏树

一、什么是银杏树
银杏树,大家应该都见过,有扇子似的叶子。

二、讲解代码
        1.引入模块并打印当前画笔的角度
代码如下:

import turtle
import random
from math import *  
print(turtle.heading())
这几句话的意义就是把turtle和random模块引入进程序,引入math模块的所有内容,并且打印当前画笔的角度

    2.定义斐波那契数列的方法的函数
代码如下:

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)

这段代码出现了if elif else的特殊情况,我来举个例子:

if a==1:  #当a==1的时候,就执行以下代码
    print('a')
elif a==2:  #当a不符合以上条件(a≠1),却符合a==2的条件,就执行以下代码(elif就是既else又if的意思)
    print('b')
else:  #当a不符合以上条件(a≠1,a≠2),就执行以下代码
    print('c')

以下就是if elif else总体结构:

if 判断条件:
    执行代码
elif 判断条件:
    执行代码
else:
    执行代码
return 0
这里的return就是函数的返回值,什么意思呢?举个例子:如果你考试考到优秀(90~100),妈妈就会给你一份礼物;如果你考试考到合格(90以下~60),妈妈就会给你一顿骂;如果你考试考到不合格(60以下~0)。那么在Python语言里就是这样表达的:

if 100>mark>=90:
    print("优秀")
    return 一份礼物
elif 90>mark>=60:
    print("合格")
    return 一顿骂
elif 60>mark>=0:
    print("不合格")
    return 一顿揍
else:
    print("错误")

重点代码:

return Fibonacci_Recursion_tool(n-1)+Fibonacci_Recursion_tool(n-2)

很多小伙伴不理解,说:“这么一长串东西(Fibonacci_Recursion_tool)是什么玩意儿?”但是,你回过头去看一眼,你就会发现,这不就是他自己(这个函数)吗?还有小伙伴就问:“那为什么这个函数里还调用了他自己呢?”这就是Python语言里经常要用的一种方式,叫作递归。递归有有三个必要的条件:1.自己调用自己。2.有终止条件。3.终止条件在递归的最开始。

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)

仔细看,递归的每一个条件在这里都有。

        3.生成斐波那契数列,并存入列表
代码如下:

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)
result_list.append(Fibonacci_Recursion_tool(i))

这行代码的append就是追加的意思
 

        4.定义画叶子的方法
代码如下:

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()
    turt

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值