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创建XML文档
Mar 01 Python
python实现每次处理一个字符的三种方法
Oct 09 Python
python文件写入实例分析
Apr 08 Python
在Lighttpd服务器中运行Django应用的方法
Jul 22 Python
python使用邻接矩阵构造图代码示例
Nov 10 Python
利用python解决mysql视图导入导出依赖的问题
Dec 17 Python
利用Python如何将数据写到CSV文件中
Jun 05 Python
python实现网页自动签到功能
Jan 21 Python
18个Python脚本可加速你的编码速度(提示和技巧)
Oct 17 Python
Python使用re模块验证危险字符
May 21 Python
Python图像处理二值化方法实例汇总
Jul 24 Python
使paramiko库执行命令时在给定的时间强制退出功能的实现
Mar 03 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
php入门学习知识点二 PHP简单的分页过程与原理
2011/07/14 PHP
Laravel 5.5 的自定义验证对象/类示例代码详解
2017/08/29 PHP
JavaScript 工具库 Cloudgamer JavaScript Library v0.1 发布
2009/10/29 Javascript
利用javascript实现全部删或清空所选的操作
2014/05/27 Javascript
我的Node.js学习之路(三)--node.js作用、回调、同步和异步代码 以及事件循环
2014/07/06 Javascript
JS如何实现文本框随文本的长度而增长
2015/07/30 Javascript
KnockoutJS 3.X API 第四章之表单value绑定
2016/10/10 Javascript
AngularJS自定义控件实例详解
2016/12/13 Javascript
Bootstrap实现渐变顶部固定自适应导航栏
2020/08/27 Javascript
深究AngularJS中ng-drag、ng-drop的用法
2017/06/12 Javascript
使用vue构建移动应用实战代码
2017/08/02 Javascript
js 客户端打印html 并且去掉页眉、页脚的实例
2017/11/03 Javascript
vue: WebStorm设置快速编译运行的方法
2018/10/18 Javascript
原生JS实现动态添加新元素、删除元素方法
2019/05/05 Javascript
js 实现碰撞检测的示例
2020/10/28 Javascript
利用Python实现网络测试的脚本分享
2017/05/26 Python
Python实现excel转sqlite的方法
2017/07/17 Python
python使用pyqt写带界面工具的示例代码
2017/10/23 Python
Python排序搜索基本算法之选择排序实例分析
2017/12/09 Python
深入flask之异步非堵塞实现代码示例
2018/07/31 Python
python pands实现execl转csv 并修改csv指定列的方法
2018/12/12 Python
Python数据预处理之数据规范化(归一化)示例
2019/01/08 Python
python带参数打包exe及调用方式
2019/12/21 Python
python GUI库图形界面开发之PyQt5计数器控件QSpinBox详细使用方法与实例
2020/02/28 Python
python输出第n个默尼森数的实现示例
2020/03/08 Python
Python tkinter实现简单加法计算器代码实例
2020/05/13 Python
Python 字符串池化的前提
2020/07/03 Python
在 Python 中使用 MQTT的方法
2020/08/18 Python
python3环境搭建过程(利用Anaconda+pycharm)完整版
2020/08/19 Python
吃透移动端 Html5 响应式布局
2019/12/16 HTML / CSS
英国网上电器商店:Electricshop
2020/03/15 全球购物
澳大利亚在线床零售商:Bedworks
2020/09/01 全球购物
大学生个人简历中的自我评价
2013/12/27 职场文书
学生乘坐校车安全责任书
2015/05/11 职场文书
涨工资申请书应该怎么写?
2019/07/08 职场文书
小学记事作文之200字
2019/08/06 职场文书