作为一个世界上非著名非专业的画家,当然得让大家先欣赏下我的世纪大作:

当然作为一个知名画家必须得掌握不同的画风,现在大家欣赏下我的另一大作:

众所周知,作为一个程序员,当然不会是一个手残党,日夜敲击键盘和晚上去厕所锻炼出来的手速,画这么个樱花树不是分分钟?这棵樱花树,我们使用了python的turtle模块,利用一些数学函数,将随机的画出不同的树枝以及飘落的花瓣,我们每次运行都会生成一棵相对独一无二的树(假如随机数不会相同)。废话不多说,看源码吧:

import turtle

from random import *

from math import *

def tree(n, l):

turtle.pendown()

t = cos(radians(turtle.heading() + 45)) / 8 + 0.25

turtle.pencolor(t, t, t)

turtle.pensize(n / 3)

turtle.forward(l)

if n > 0:

b = random() * 15 + 10

c = random() * 15 + 10

d= l * (random() * 0.25 + 0.7)

turtle.right(b)

tree(n - 1, d)

turtle.left(b + c)

tree(n - 1, d)

turtle.right(c)

else:

turtle.right(90)

n = cos(radians(turtle.heading() - 45)) / 4 + 0.5

turtle.pencolor(n, n*0.8, n*0.8)

turtle.circle(3)

turtle.left(90)

z=random()

if z>0.7:

turtle.up()

t = turtle.heading()

an = -40 + random()*40

turtle.setheading(an)

dis = int(800*random()*0.5 + 400*random()*0.3 + 200*random()*0.2)

turtle.forward(dis)

turtle.setheading(t)

turtle.down()

turtle.right(90)

n = cos(radians(turtle.heading() - 45)) / 4 + 0.5

turtle.pencolor(n*0.5+0.5, 0.4+n*0.4, 0.4+n*0.4)

turtle.circle(2)

turtle.left(90)

turtle.up()

t = turtle.heading()

turtle.setheading(an)

turtle.backward(dis)

turtle.setheading(t)

turtle.up()

turtle.backward(l)

turtle.bgcolor(0.5, 0.5, 0.5) # 背景色

turtle.hideturtle() # 隐藏turtle

turtle.speed(0) # 速度,1-10渐进,0最快

turtle.tracer(0, 0)

turtle.up() # 抬笔

turtle.backward(100)

turtle.left(90) # 左转90度

turtle.up() # 抬笔

turtle.backward(300) # 后退300

tree(12, 100) # 递归7层

turtle.done()

python代码画樱花-如何用Python画出一颗漂亮的樱花相关推荐

  1. 温度转换python代码解释_如何用python代码温度转换?

    如何用python代码温度转换? 用python代码温度转换的方法: 步骤一:分析问题的计算部分 步骤二:确定功能,使用IPO方法进一步分析 输入:华氏或者摄氏温度值.温度标识 处理:温度转化算法 输 ...

  2. python用turtle画樱花飘落_如何用Python画出一颗漂亮的樱花

    作为一个世界上非著名非专业的画家,当然得让大家先欣赏下我的世纪大作: 当然作为一个知名画家必须得掌握不同的画风,现在大家欣赏下我的另一大作: 众所周知,作为一个程序员,当然不会是一个手残党,日夜敲击键 ...

  3. 浪漫的python代码_七夕,最浪漫的Python代码送给陷入爱河的Python男同胞

    七夕,最浪漫的Python代码送给陷入爱河的Python男同胞 image.gif ​ 三句话情书,我们听过.如何用python写一段浪漫的代码?可以是简短有韵味的情书式, 也欢迎冗长而效果拔群的万行 ...

  4. python代码去马赛克_十行python代码教你如何去除万恶的,如s一样的马赛克

    世界上有一种东西,叫作马赛克,不知道困扰了多少痴男怨女.小编新get到一个技能,忍不住拿出来秀一秀. 小编这几天的了解其实水印和马赛克的原理是一样的,都是覆盖.一般是去不了的,那么这个技术来了,请看~ ...

  5. python代码中疯狂print影响python性能吗?print是io吗?结论是做代码性能测试千万不要疯狂print,否则结果严重不准确,性能大幅下降。...

    很多人做性能测试,吧print打开,吧log调到debug级别并使用了streamhandler,那就会疯狂打印到控制台. 打印控制台会影响代码性能吗?这是毫无疑问的,python print会严重影 ...

  6. python怎样画立体图-如何用Matplotlib 画三维图的示例代码

    用Matplotlib画三维图 最基本的三维图是由(x, y, z)三维坐标点构成的线图与散点图,可以用ax.plot3D和ax.scatter3D函数来创建,默认情况下,散点会自动改变透明度,以在平 ...

  7. 用python画烟花-如何用python画烟花

    用python画烟花的方法:首先创建一个所有粒子同时扩大的二维列表:然后实现粒子范围扩大,以自由落体坠落:接着移除超过最高时长的粒子:最后循环调用保持不停. 用python画烟花的方法:# -*- c ...

  8. python turtle画气球-如何用python的装饰器定义一个像C++一样的强

    如何用python的装饰器定义一个像C++一样的强 Python作为一个动态的脚本语言,其函数在定义时是不需要指出参数的类型,也不需要指出函数是否有返回值.使用python的装饰器来定义一个像C++那 ...

  9. python输出玫瑰花_如何用python画玫瑰花

    源码如下:import turtle # 设置初始位置 turtle.penup() turtle.left(90) turtle.fd(200) turtle.pendown() turtle.ri ...

最新文章

  1. 对数函数定义域和值域_呆哥数学每日一题 —— 复合函数值域
  2. 罗伯特扫地机器人电池如何取_irobot扫地机器人电池怎么拆 iRobot/艾罗伯特扫地...
  3. 排序---对二维数组的排序
  4. 蜂鸟智游大数据:“人在囧途”的春运,航空公司们可操碎了心
  5. Java Spring singleton bean的创建源代码
  6. 今日笔记!——分析Java应用性能
  7. 前端工程师必备谷歌浏览器F12下的调试知识点
  8. 运维人,你应该了解的三张武功心法图(转载)
  9. AB Test 是什么
  10. Django实现简单的用户添加、删除、修改等功能
  11. Linux(4) 实用指令
  12. coding4fun比赛总结
  13. 知识图谱组队学习Task02——项目介绍
  14. (转)Android权限列表permission说明 (一)
  15. C# 人民币大小写转换正则表达式
  16. f3 fatfree小型php,F3-fatfree小型php框架教程(三)
  17. 常用编程语言简介大全
  18. day69_淘淘商城项目_02_dubbo介绍 + dubbo框架整合 + zookeeper + 商品列表查询实现 + 分页 + 逆向工程_匠心笔记
  19. 分门别类刷leetcode——链表(C++实现)
  20. 一文详解Pandas

热门文章

  1. 交叉销售功能介绍-配置
  2. 按键精灵--函数的介绍
  3. 数学符号 - 罗马字母
  4. python处理adb截屏_《自拍教程38》Python_adb一键截屏
  5. Choco求解器的安装
  6. 企业内容管理(ECM)与文档管理的区别及其优势
  7. [nlp] sentiment analysis(情感分析)
  8. java poi解析excel_Java 利用POI 解析Excel
  9. egret 龙骨操作,返回龙骨显示对象
  10. 【leetcode】 剑指 Offer学习计划(java版本含注释)(上)