当前位置 主页 > 网站技术 > 代码类 >

    python3实现用turtle模块画一棵随机樱花树

    栏目:代码类 时间:2019-11-21 12:10

    废话不多说了,直接上代码吧!

    #!/usr/bin/env python
    # coding=utf-8
    # 画一棵樱花
     
     
    import turtle
    import random
    from turtle import *
    from time import sleep
     
     
    # 画樱花的躯干(60,t)
    def tree(branchLen,t):
      sleep(0.0005)
      if branchLen >3:
        if 8<= branchLen <=12:
          if random.randint(0,2) == 0:
            t.color('snow') # 白
          else:
            t.color('lightcoral') # 淡珊瑚色
          t.pensize(branchLen / 3)
        elif branchLen <8:
          if random.randint(0,1) == 0:
            t.color('snow')
          else:
            t.color('lightcoral') # 淡珊瑚色
          t.pensize(branchLen / 2)
        else:
          t.color('sienna') # 赭(zhě)色
          t.pensize(branchLen / 10) # 6
        t.forward(branchLen)
        a = 1.5 * random.random()
        t.right(20*a)
        b = 1.5 * random.random()
        tree(branchLen-10*b, t)
        t.left(40*a)
        tree(branchLen-10*b, t)
        t.right(20*a)
        t.up()
        t.backward(branchLen)
        t.down()
     
    # 掉落的花瓣
    def petal(m, t):
      for i in range(m):
        a = 200 - 400 * random.random()
        b = 10 - 20 * random.random()
        t.up()
        t.forward(b)
        t.left(90)
        t.forward(a)
        t.down()
        t.color('lightcoral') # 淡珊瑚色
        t.circle(1)
        t.up()
        t.backward(a)
        t.right(90)
        t.backward(b)
     
    def main():
      # 绘图区域
      t = turtle.Turtle()
      # 画布大小
      w = turtle.Screen()
      t.hideturtle() # 隐藏画笔
      getscreen().tracer(5,0)
      w.screensize(bg='wheat') # wheat小麦
      t.left(90)
      t.up()
      t.backward(150)
      t.down()
      t.color('sienna')
     
      # 画樱花的躯干
      tree(60,t)
      # 掉落的花瓣
      petal(200, t)
      w.exitonclick()
     
    main()
    

    以上这篇python3实现用turtle模块画一棵随机樱花树就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持IIS7站长之家。