还在为 520 发愁吗?教你用 Python 写个表白神器!
发布日期:2021-06-30 11:42:41
浏览次数:2
分类:技术文章
本文共 2261 字,大约阅读时间需要 7 分钟。
520 了,还在为表白发愁吗?教你用 Python 写个表白神器,给心仪的她(他)一个优雅的告白,本文实现用到的库是 turtle。丘比特之箭
首先,我们来画一个丘比特之箭,要实现的最终效果如下:
我们来简单看一下实现思路,从上图中可以看出丘比特之箭组成包括:心连心、箭和文字三部分,下面我们分别看一下具体实现。我们先来看心连心的实现,我们要实现的心连心是两个心形叠加,再在心中添加填充色,实现代码如下:
t.color('red','pink')t.begin_fill()t.width(5)t.left(135)t.fd(100)t.right(180)t.circle(50,-180)t.left(90)t.circle(50,-180)t.right(180)t.fd(100)t.pu()t.goto(50,-30)t.pd()t.right(90)t.fd(100)t.right(180)t.circle(50,-180)t.left(90)t.circle(50,-180)t.right(180)t.fd(100)t.end_fill()t.hideturtle()t.pu()t.goto(250,-70)t.pd()
实现效果:
我们接着看箭的实现,箭包括头部和尾部两部分,实现代码如下:# 箭尾t.color('yellow')t.width(5)t.left(70)t.fd(50)t.fd(-50)t.left(70)t.fd(50)t.fd(-50)t.left(145)t.fd(20)t.left(145)t.fd(50)t.fd(-50)t.left(70)t.fd(50)t.fd(-50)t.left(145)t.fd(20)t.left(145)t.fd(50)t.fd(-50)t.left(70)t.fd(50)t.fd(-50)t.left(145)t.width(3)t.fd(220)t.right(90)t.pu()t.fd(10)t.pd()# 箭头t.begin_fill()t.left(-30)t.fd(-15)t.right(-40)t.fd(-50)t.right(-165)t.fd(-50)t.end_fill()
实现效果:
最后,我们看一下如何添加文字,代码实现如下:t.color('red')t.write('I LOVE YOU', move=False, align='center',font=("Times", 18, "bold"))
红玫瑰
接着,我们再来画一个红玫瑰,要实现的最终效果如下:
我们来简单看一下实现思路,从上图中可以看红玫瑰组成包括:玫瑰花和文字两部分,下面我们分别看一下具体实现。
我们先来看红玫瑰的实现,红玫瑰包括花和叶子,实现代码如下:
turtle.penup()turtle.left(90)turtle.fd(200)turtle.pendown()turtle.right(90)turtle.fillcolor('red')# 花瓣1turtle.left(150)turtle.circle(-90, 70)turtle.left(20)turtle.circle(75, 105)turtle.setheading(60)turtle.circle(80, 98)turtle.circle(-90, 40)# 花瓣2turtle.left(180)turtle.circle(90, 40)turtle.circle(-80, 98)turtle.setheading(-83)# 叶子1turtle.fd(30)turtle.left(90)turtle.fd(25)turtle.left(45)turtle.fillcolor('green')turtle.begin_fill()turtle.circle(-80, 90)turtle.right(90)turtle.circle(-80, 90)turtle.end_fill()turtle.right(135)turtle.fd(60)turtle.left(180)turtle.fd(85)turtle.left(90)turtle.fd(80)# 叶子2turtle.right(90)turtle.right(45)turtle.fillcolor('green')turtle.begin_fill()turtle.circle(80, 90)turtle.left(90)turtle.circle(80, 90)turtle.end_fill()turtle.left(135)turtle.fd(60)turtle.left(180)turtle.fd(60)turtle.right(90)turtle.circle(200, 60)
实现效果:
我们再来看如何添加文字,实现代码如下:turtle.color('red')turtle.write('520 Happy', move=False, align='center',font=("Times", 18, "bold"))turtle.write('I LOVE YOU', move=False, align='center',font=("Times", 18, "bold"))
作者:程序员野客
公号:Python小二 链接:
转载地址:https://ityard.blog.csdn.net/article/details/106224900 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
第一次来,支持一个
[***.219.124.196]2024年04月10日 09时17分50秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
Python一键获取微信推送封面图
2019-04-30
油猴脚本:微信推送浏览功能拓展
2019-04-30
JavaScript DOM对象操作详解
2019-04-30
JavaScript 表单操作与MD5加密
2019-04-30
JAVA学习笔记4 - 循环与分支结构
2019-04-30
JAVA学习笔记6 - 数组
2019-04-30
JAVA学习笔记8 - Stream 和 File I/O
2019-04-30
JAVA学习笔记9 - 异常
2019-04-30
JAVA学习笔记10 - 继承
2019-04-30
JAVA学习笔记11 - 接口interface
2019-04-30
JAVA学习笔记12 - 包package
2019-04-30
Android 开发学习笔记 00 - Getting Started
2019-04-30
【学习笔记】Android Activity
2019-04-30
【学习笔记】Android Fragments
2019-04-30
Android使用Retrofit_00_Getting Started
2019-04-30
Android使用Retrofit_01_OAuth2 + GitHub
2019-04-30
Django + REST学习笔记
2019-04-30