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


Posted in Python onNovember 21, 2019

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

#!/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模块画一棵随机樱花树

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

Python 相关文章推荐
Python中如何优雅的合并两个字典(dict)方法示例
Aug 09 Python
Python快速排序算法实例分析
Nov 29 Python
Python装饰器简单用法实例小结
Dec 03 Python
对python以16进制打印字节数组的方法详解
Jan 24 Python
在windows下使用python进行串口通讯的方法
Jul 02 Python
wxPython绘图模块wxPyPlot实现数据可视化
Nov 19 Python
在Django下创建项目以及设置settings.py教程
Dec 03 Python
Python使用ElementTree美化XML格式的操作
Mar 06 Python
自定义Django Form中choicefield下拉菜单选取数据库内容实例
Mar 13 Python
python实点云分割k-means(sklearn)详解
May 28 Python
利用python批量爬取百度任意类别的图片的实现方法
Oct 07 Python
Python Django获取URL中的数据详解
Nov 01 Python
用python中的matplotlib绘制方程图像代码
Nov 21 #Python
python hash每次调用结果不同的原因
Nov 21 #Python
python/Matplotlib绘制复变函数图像教程
Nov 21 #Python
Python 复平面绘图实例
Nov 21 #Python
Python3并发写文件与Python对比
Nov 20 #Python
python实现高斯(Gauss)迭代法的例子
Nov 20 #Python
python、Matlab求定积分的实现
Nov 20 #Python
You might like
简单采集了yahoo的一些数据
2007/02/14 PHP
PHP开发中常用的8个小技巧
2008/08/27 PHP
配置Apache2.2+PHP5+CakePHP1.2+MySQL5运行环境
2009/04/25 PHP
PHP清除字符串中所有无用标签的方法
2014/12/01 PHP
PHP读取文件的常见几种方法
2016/11/03 PHP
php生成二维码不保存服务器还有下载功能的实现代码
2018/08/09 PHP
MooBox 基于Mootools的对话框插件
2012/01/20 Javascript
别了 JavaScript中的isXX系列
2012/08/01 Javascript
js中的cookie的读写操作示例详解
2014/04/17 Javascript
JS获取随机数函数可自定义最小值最大值
2014/05/08 Javascript
javascript删除一个html元素节点的方法
2014/12/20 Javascript
Node.js开源应用框架HapiJS介绍
2015/01/14 Javascript
JavaScript变量的作用域全解析
2015/08/14 Javascript
JS+CSS简单树形菜单实现方法
2015/09/12 Javascript
Nodejs Stream 数据流使用手册
2016/04/17 NodeJs
javascript和jquery实现用户登录验证
2016/05/04 Javascript
js设置随机切换背景图片的简单实例
2017/11/12 Javascript
vue项目打包部署_nginx代理访问方法详解
2018/09/20 Javascript
Vue实现简单分页器
2018/12/29 Javascript
vue页面跳转实现页面缓存操作
2020/07/22 Javascript
Vue如何将页面导出成PDF文件
2020/08/17 Javascript
闭包在python中的应用之translate和maketrans用法详解
2014/08/27 Python
python实现udp数据报传输的方法
2014/09/26 Python
Windows上配置Emacs来开发Python及用Python扩展Emacs
2015/11/20 Python
Python编程修改MP3文件名称的方法
2017/04/19 Python
Linux 修改Python命令的方法示例
2018/12/03 Python
python 画出使用分类器得到的决策边界
2019/08/21 Python
Python工程师必考的6个经典面试题
2020/06/28 Python
基于HTML5 Canvas的3D动态Chart图表的示例
2017/11/02 HTML / CSS
创业计划书撰写原则
2014/01/25 职场文书
四风对照检查材料思想汇报
2014/09/20 职场文书
开业庆典活动策划方案
2014/09/21 职场文书
群众路线教育党员自我剖析材料
2014/10/06 职场文书
2014年军人思想汇报范文
2014/10/12 职场文书
公司员工违纪检讨书
2015/05/05 职场文书
感谢信
2019/04/11 职场文书