情人节到了,在鲜花巧克力情人节礼物之外,用Python画棵爱心树或者说爱情树,也是很浪漫的。搞技术的怎么就不能浪漫了?我们的浪漫,就在一行行的代码里(指尖流转代码诗)。

在情人节画棵爱心树/爱情树,用的还是turtle(海龟)类库,还是一样的配方,还是熟悉的味道,用得多了,再复杂的也就简单了。但是要用turtle画出酷炫的效果来还是需要不断调整代码和运行测试。

程序运行最后生成的爱心树/爱情树如下:

源代码分享给各位朋友:

#author:hanshiqiang365 (wechat public account)

import turtle

import random

def love(x,y):#在(x,y)处画爱心

turtle.title('Love Tree To Libby by hanshiqiang365')

lv=turtle.Turtle()

lv.hideturtle()

lv.up()

lv.goto(x,y)#定位到(x,y)

def curvemove():#画圆弧

for i in range(20):

lv.right(10)

lv.forward(2)

lv.color('red','pink')

lv.speed(999)

lv.pensize(1)

#开始画爱心

lv.down()

lv.begin_fill()

lv.left(140)

lv.forward(22)

curvemove()

lv.left(120)

curvemove()

lv.forward(22)

lv.write("宝",font=("Arial",15,"normal"),align="center")#写上名字

lv.left(140)

lv.end_fill()

def tree(branchLen,t):

if branchLen > 5:

if branchLen

t.color("green")

t.pensize(random.uniform((branchLen + 5) / 4 - 2, (branchLen + 6) / 4 + 5))

t.down()

t.forward(branchLen)

love(t.xcor(),t.ycor())

t.up()

t.backward(branchLen)

t.color("brown")

return

t.pensize(random.uniform((branchLen+5)/4-2,(branchLen+6)/4+5))

t.down()

t.forward(branchLen)

# 以下递归

ang=random.uniform(15,45)

t.right(ang)

tree(branchLen-random.uniform(12,16),t)

t.left(2*ang)

tree(branchLen-random.uniform(12,16),t)

t.right(ang)

t.up()

t.backward(branchLen)

myWin = turtle.Screen()

t = turtle.Turtle()

t.hideturtle()

t.speed(9999)

t.left(90)

t.up()

t.backward(200)

t.down()

t.color("brown")

t.pensize(32)

t.forward(60)

tree(100,t)

#文字

t.seth(90)

t.fd(-120)

t.write("Love Tree to Libby @hanshiqiang365", font=("微软雅黑", 18, "normal"))

myWin.exitonclick()

程序运行画出爱心树/爱情树的录屏,加上原版背景音乐《世间始终你好》(网易云音乐上可以找到),效果很棒:

那么,在这棵爱心树/爱情树上到底画了多少颗心呢?我在程序里加了一个log就看到了,有兴趣的可以数一数。

画出一棵爱心树/爱情树,需要先画树,然后画心,然后在心里写上字。画一棵树代表爱情的基础(不以结婚为目的没有基础的爱情就是耍流氓,虽说有情饮水饱,但是连水都没有的话,就要拼命了呀,为了爱情,也要努力,爱拼才会赢),画一颗心代表爱情(问世间,是否此山最高,或者,另有高处比天高,在世间,自有山比此山更高,但爱心,找不到比你好......最喜欢的几首歌之一),然后,在心里刻上一个名字(刻骨铭心,就是这个意思,弱水三千,一瓢而止),然后,画上一颗颗爱心挂在树上,那就是爱心树,也是爱情树。愿天下有情人,皆成眷属。

韩思先生,韩世强,在外企工作,英文名或者说德文名是HANS,因此笔名韩思先生,职业IT经理人,半个文化人。好读书,好写作,好爬山,现定居大连。从事IT行业近二十年,积累了丰富的IT软件项目实施和管理经验,知识面较广,并且喜欢总结和分享。

python画爱心树_Python在情人节画棵爱心树/爱情树相关推荐

  1. python绘制蚊香形_python之turtle画蚊香

    原理:利用turtle绘制圆形,并使圆半径逐步增加 代码如下: import turtle turtle.pensize(30) for i in range(30): turtle.circle(i ...

  2. 用python画动图_Python使用matplotlib画动态图

    机器学习需要使用python实现相应的算法,因此学习了Matplotlib中的画图. 当然为了能显示机器学习中每次迭代的效果与收敛速度,需要画出动态图形. 下面给出两个例子,分别可以画出动态条形图和动 ...

  3. python如何绘制曲线图_python pandas plot画折线图如何显示x轴的值?

    在使用python pandas Series plot画折线图时,不知道该如何显示x轴的值. 代码: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 ...

  4. python画饼图程序_python使用matplotlib画饼状图

    本文实例为大家分享了python使用matplotlib画饼状图的具体代码,供大家参考,具体内容如下 代码与详细注释 from matplotlib import pyplot as plt #调节图 ...

  5. python绘制音频频谱_Python 读取wav画频谱

    Python 读取wav音频文件,并用specgram画频谱 import wave import struct from scipy import * from pylab import * #读取 ...

  6. python使用matplotlib 画柱状图代码_Python 使用 matplotlib 画柱状图教程

    Python 使用 matplotlib 画图是非常方便的,之前的文章记录了<Python 使用 matplotlib 画折线图教程>,今天就再次记录一下使用 matplotlib 画柱状 ...

  7. python画五角星代码_Python使用turtule画五角星的方法

    Python使用turtule画五角星的方法 更新时间:2015年07月09日 10:04:03 作者:pythonstart 这篇文章主要介绍了Python使用turtule画五角星的方法,运行该程 ...

  8. 用python画太阳花原理_Python——教你画朵太阳花

    用python中的turtle函数画个太阳花,有以下几个步骤 1.首先,我们在开始中找到Python语言的IDLE软件脚本 2.然后出现该软件界面,如图,点击上面的Eile 3.然后在栏目中点击New ...

  9. python画环形图_Python通过matplotlib画双层饼图及环形图简单示例

    摘要:这篇Python开发技术栏目下的"Python通过matplotlib画双层饼图及环形图简单示例",介绍的技术点是"matplotlib.Python.简单示例.饼 ...

  10. python绘制饼图双层_Python通过matplotlib画双层饼图及环形图简单示例

    (1) 饼图(pie),即在一个圆圈内分成几块,显示不同数据系列的占比大小,这也是我们在日常数据的图形展示中最常用的图形之一. 在python中常用matplotlib的pie来绘制,基本命令如下所示 ...

最新文章

  1. EF 5.0 帮助类 增删改查
  2. Sql Server 2005的1433端口打开和进行远程连接
  3. Java反斜线(\)路径与转义字符的小坑
  4. 用android ndk编译ffmpeg,AndroidNDK交叉编译FFMPEG
  5. 关于数据库名、实例名
  6. 2020中国硬科技创新白皮书
  7. 如何用Pygame写游戏(八)
  8. 【Kafka】如何判断一个kafka集群是否稳定
  9. 通过js引用外部脚本(嘿嘿,方便直接在浏览器上调试抓取代码)
  10. 125w短波通信距离_125W军用自主选频短波电台
  11. linux 运行 级别(转)
  12. POJ 2728 Desert King:最优比率生成树
  13. 22. 切勿直接修改set或multiset中的键
  14. docker php安装gd扩展_PHP安装AMQP扩展
  15. postgresql和mysql语句区别_postgresql和mysql语句区别
  16. DH 算法迪菲-赫尔曼算法QUIC协议和HTTP3.0
  17. 全网最全的AItium Designer 16下载资源与安装步骤
  18. idea 怎么快速创建类的快捷键_Idea 常用快捷键整理
  19. 解决Gmail不能正常登录的问题,并推荐几个小窍门 [转]
  20. Ubuntu根目录的各个文件夹的介绍

热门文章

  1. 南阳oj入门题-谁是最好的coder
  2. kali Linux 上编译并使用RFID核弹——proxmark3
  3. Java多线程系列--“JUC集合”08之 LinkedBlockingQueue
  4. [TJOI2019]唱、跳、rap和篮球_生成函数_容斥原理_ntt
  5. 仿苹果响应式官网(含代码!)
  6. IntelliJ IDEA优化内存配置提高启动和运行速度
  7. 固定翼位置控制_L1
  8. ffmpeg 裁剪视频 / 批量
  9. vue xlsx插件导入
  10. android+背景虚化,android背景虚化