python 详解turtle画爱心代码


Posted in Python onFebruary 15, 2022

导语:

哈喽,在经历了过年相亲这一环节,成了是好事?,不成也是多认识一个人,见见"世面",也可以“开拓”一下眼界,说不定遇到什么奇葩,以后跟朋友也有了茶余饭后的话题。

希望我们在这快餐时代里,都能遇到小火慢炖的粥~

正文:

一直觉得turtle是个非常可爱的库,突发奇想,然后想试试传说中的土味表白:用python画一颗小爱心——

Google programming!启动!

python 详解turtle画爱心代码

确实有很多很多现成的代码,比如[1]:

python 详解turtle画爱心代码

画出来也很好看:

python 详解turtle画爱心代码

但左看右看,觉得背后的逻辑,比如forward( )的参数、right( )的参数怎么来的不是很直白,于是用最简单的思路再推了一下:

第一步,考虑从“心尖”的位置开始,先向左上角画一条直线,与y轴的夹角设为45度:

python 详解turtle画爱心代码

第二步,心形的上方是一个弧形,可以设计成从原先的斜率开始,每前进1单位转1单位角度,画一个半圆:

python 详解turtle画爱心代码

第三步,右侧基本重复,但调整一下旋转角度,相应的各个参数的关系也很容易推:

python 详解turtle画爱心代码

OK顺着这个思路,非常简单的代码如下:

import turtle
# set a window
wn = turtle.Screen()
wn.bgcolor("black")
wn.screensize(800, 600)
 
 
# set a pen
pen = turtle.Turtle()
pen.color("pink")
pen.shape("turtle")
 
#画笔形状设成了非常可爱的海龟hh
pen.fillcolor("pink")
turtle.speed(10)
 
 
# define functions
def curve():
   for i in range(180):
       pen.right(1)
       pen.forward(2)
def heart():
   pen.left(135)
   pen.forward(720/3.14)
   curve()
   pen.left(90)
   curve()
   pen.forward(720/3.14)
def text():
   pen.penup()
   pen.setpos(-50,50)
   pen.pendown()
   pen.color("white")
   pen.write(input("enter the words:"), font = ("Verdana", 30, "bold"))
 
 
# painting!
pen.begin_fill()
pen.penup()
pen.setpos(0,-150)
pen.pendown()
heart()
pen.end_fill()
text()
turtle.done()

效果!

python 详解turtle画爱心代码

结尾:

今天的分享就到这里,喜欢就点个赞吧!

python 详解turtle画爱心代码

到此这篇关于python 详解turtle画爱心代码的文章就介绍到这了,更多相关python 画爱心 内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
Python实现子类调用父类的方法
Nov 10 Python
django 自定义用户user模型的三种方法
Nov 18 Python
pygame学习笔记(2):画点的三种方法和动画实例
Apr 15 Python
详解Python3中的Sequence type的使用
Aug 01 Python
Python中你应该知道的一些内置函数
Mar 31 Python
python数据结构之列表和元组的详解
Sep 23 Python
python实现贪吃蛇小游戏
Mar 21 Python
python logging模块书写日志以及日志分割详解
Jul 22 Python
pycharm 批量修改变量名称的方法
Aug 01 Python
python颜色随机生成器的实例代码
Jan 10 Python
Django 解决distinct无法去除重复数据的问题
May 20 Python
python opencv 实现读取、显示、写入图像的方法
Jun 08 Python
python分分钟绘制精美地图海报
基于PyQT5制作一个桌面摸鱼工具
Feb 15 #Python
python接口测试返回数据为字典取值方式
Feb 12 #Python
Python socket如何解析HTTP请求内容
Feb 12 #Python
python全面解析接口返回数据
Feb 12 #Python
http通过StreamingHttpResponse完成连续的数据传输长链接方式
Feb 12 #Python
python中出现invalid syntax报错的几种原因分析
Feb 12 #Python
You might like
判断Keep-Alive模式的HTTP请求的结束的实现代码
2011/08/06 PHP
php解析xml提示Invalid byte 1 of 1-byte UTF-8 sequence错误的处理方法
2013/11/14 PHP
javascript 浏览器判断 绑定事件 arguments 转换数组 数组遍历
2009/07/06 Javascript
js 覆盖和重载 函数
2009/09/25 Javascript
初学js插入节点appendChild insertBefore使用方法
2011/07/04 Javascript
xml转json的js代码
2012/08/28 Javascript
javascript动画对象支持加速、减速、缓入、缓出的实现代码
2012/09/30 Javascript
jQuery+ajax实现鼠标单击修改内容的思路
2014/06/29 Javascript
jquery显示隐藏元素的实现代码
2016/05/19 Javascript
JavaScript解八皇后问题的方法总结
2016/06/12 Javascript
js 定义对象数组(结合)多维数组方法
2016/07/27 Javascript
javascript的document中的动态添加标签实现方法
2016/10/24 Javascript
微信小程序 删除项目工程实现步骤
2016/11/10 Javascript
js仿淘宝商品放大预览功能
2017/03/15 Javascript
Node Puppeteer图像识别实现百度指数爬虫的示例
2018/02/22 Javascript
layui 点击重置按钮, select 并没有被重置的解决方法
2019/09/03 Javascript
vue-cli设置css不生效的解决方法
2020/02/07 Javascript
原生js拖拽实现图形伸缩效果
2020/02/10 Javascript
微信小程序开发(一):服务器获取数据列表渲染操作示例
2020/06/01 Javascript
[08:06]DOTA2-DPC中国联赛 正赛 PSG.LGD vs Elephant 选手采访
2021/03/11 DOTA
Python实现时钟显示效果思路详解
2018/04/11 Python
Python3爬虫学习之将爬取的信息保存到本地的方法详解
2018/12/12 Python
解决pycharm每次新建项目都要重新安装一些第三方库的问题
2019/01/17 Python
python+opencv实现摄像头调用的方法
2019/06/22 Python
Python解析多帧dicom数据详解
2020/01/13 Python
零基础学python应该从哪里入手
2020/08/11 Python
GUESS盖尔斯法国官网:美国时尚品牌
2016/09/23 全球购物
安全事故检讨书
2014/01/18 职场文书
数控技术学生的自我评价
2014/02/15 职场文书
超市商业计划书
2014/05/04 职场文书
投标保密承诺书
2014/05/19 职场文书
2014年大学生社会实践自我鉴定
2014/09/26 职场文书
2014年党员个人工作总结
2014/12/02 职场文书
《有余数的除法》教学反思
2016/02/22 职场文书
Python中三种花式打印的示例详解
2022/03/19 Python
MySQL如何修改字段类型和字段长度
2022/06/10 MySQL