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的Django框架中的URL配置与松耦合
Jul 15 Python
Windows下安装python MySQLdb遇到的问题及解决方法
Mar 16 Python
Ubuntu16.04/树莓派Python3+opencv配置教程(分享)
Apr 02 Python
Django如何自定义分页
Sep 25 Python
对Python3之进程池与回调函数的实例详解
Jan 22 Python
Python字符串匹配之6种方法的使用详解
Apr 08 Python
Python3+OpenCV2实现图像的几何变换(平移、镜像、缩放、旋转、仿射)
May 13 Python
在Django下创建项目以及设置settings.py教程
Dec 03 Python
解决Python图形界面中设置尺寸的问题
Mar 05 Python
Python压缩模块zipfile实现原理及用法解析
Aug 14 Python
python爬取代理IP并进行有效的IP测试实现
Oct 09 Python
利用 Python 的 Pandas和 NumPy 库来清理数据
Apr 13 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
Discuz! 5.0.0论坛程序中加入一段js代码,让会员点击下载附件前自动弹出提示窗口
2007/04/18 PHP
PHP操作数组相关函数
2011/02/03 PHP
字符串长度函数strlen和mb_strlen的区别示例介绍
2014/09/09 PHP
php微信支付之APP支付方法
2015/03/04 PHP
php fseek函数读取大文件两种方法
2016/10/12 PHP
CodeIgniter开发实现支付宝接口调用的方法示例
2016/11/14 PHP
PHP之多条件混合筛选功能的实现方法
2019/10/09 PHP
JavaScript延迟加载
2021/03/09 Javascript
javascript学习笔记(二) js一些基本概念
2012/06/18 Javascript
javascript学习笔记(五) Array 数组类型介绍
2012/06/19 Javascript
jQuery学习笔记 获取jQuery对象
2012/09/19 Javascript
页面装载js及性能分析方法介绍
2014/03/21 Javascript
jQuery.prop() 使用详解
2015/07/19 Javascript
Jquery常用的方法汇总
2015/09/01 Javascript
jquery实现全选、反选、获得所有选中的checkbox
2020/09/13 Javascript
jQuery插件uploadify实现ajax效果的图片上传
2016/06/18 Javascript
javascript事件捕获机制【深入分析IE和DOM中的事件模型】
2016/12/15 Javascript
JavaScript实现定时页面跳转功能示例
2017/02/14 Javascript
简述JS浏览器的三种弹窗
2018/07/15 Javascript
基于Nodejs的Tcp封包和解包的理解
2018/09/19 NodeJs
vue.js 2.0实现简单分页效果
2019/07/29 Javascript
js实现图片无缝循环轮播
2019/10/28 Javascript
JavaScript实现放大镜效果代码示例
2020/04/29 Javascript
[09:31]2016国际邀请赛中国区预选赛Yao赛后采访 答题送礼
2016/06/27 DOTA
让Python代码更快运行的5种方法
2015/06/21 Python
Python实现自动为照片添加日期并分类的方法
2017/09/30 Python
python 字典修改键(key)的几种方法
2018/08/10 Python
使用Python实现图像标记点的坐标输出功能
2019/08/14 Python
澳大利亚领先的美容护肤品零售商之一:SkincareStore
2018/01/22 全球购物
YSL圣罗兰美妆俄罗斯官网:Yves Saint Lauret RU
2020/09/23 全球购物
英国马莎百货印度官网:Marks & Spencer印度
2020/10/08 全球购物
【魔兽争霸3重制版】原版画面与淬火MOD画面对比
2021/03/26 魔兽争霸
实习生单位鉴定意见
2013/12/04 职场文书
城管大队整治方案
2014/05/06 职场文书
会计系毕业生求职信
2014/05/28 职场文书
运动会主持人开幕词
2016/03/04 职场文书