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

yipeiwu_com7年前Python基础

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

#!/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模块画一棵随机樱花树就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

python验证码图片处理(二值化)

python验证码图片处理(二值化)

写在最前面: 这个我打算分几次写,由于我们通过selenium拿到的图片会很模糊,所以使用Tesseract识别之前要对图片先进行处理。 第一步就是二值化,设定阈值,低于阈值全部为白色(...

python字符串替换的2种方法

python 字符串替换 是python 操作字符串的时候经常会碰到的问题,这里简单介绍下字符串替换方法。 python 字符串替换可以用2种方法实现: 1是用字符串本身的方法。 2用正...

详解Python各大聊天系统的屏蔽脏话功能原理

详解Python各大聊天系统的屏蔽脏话功能原理

突然想到一个视频里面弹幕被和谐的一满屏的*号觉得很有趣,然后就想用python来试试写写看,结果还真玩出了点效果,思路是首先你得有一个脏话存放的仓库好到时候检测,那么个人还是喜欢用列表,...

windows下python虚拟环境virtualenv安装和使用详解

前面介绍了python在ubuntu16.04环境下,python的虚拟环境virtualenv的安装,下面介绍在windows环境下的安装和使用。 环境信息 操作系统:windo...

利用python模拟sql语句对员工表格进行增删改查

本文主要给大家介绍了关于python模拟sql语句对员工表格进行增删改查的相关内容,分享出来供大家参考学习,下面来一起看看详细的介绍: 具体需求: 员工信息表程序,实现增删改查操作: 可...