python 详解turtle画爱心代码
作者:迢迢x 发布时间:2022-05-09 20:44:58
标签:python,画爱心,turtle
导语:
哈喽,在经历了过年相亲这一环节,成了是好事💗,不成也是多认识一个人,见见"世面",也可以“开拓”一下眼界,说不定遇到什么奇葩,以后跟朋友也有了茶余饭后的话题。
希望我们在这快餐时代里,都能遇到小火慢炖的粥~
正文:
一直觉得turtle是个非常可爱的库,突发奇想,然后想试试传说中的土味表白:用python画一颗小爱心——
Google programming!启动!
确实有很多很多现成的代码,比如[1]:
画出来也很好看:
但左看右看,觉得背后的逻辑,比如forward( )的参数、right( )的参数怎么来的不是很直白,于是用最简单的思路再推了一下:
第一步,考虑从“心尖”的位置开始,先向左上角画一条直线,与y轴的夹角设为45度:
第二步,心形的上方是一个弧形,可以设计成从原先的斜率开始,每前进1单位转1单位角度,画一个半圆:
第三步,右侧基本重复,但调整一下旋转角度,相应的各个参数的关系也很容易推:
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()
效果!
结尾:
今天的分享就到这里,喜欢就点个赞吧!
来源:https://blog.csdn.net/a55656aq/article/details/122853705


猜你喜欢
- 环境:python3 + unittest + requestsExcel管理测试用例,HTMLTestRunner生成测试报告测试完成后邮
- Vignere密码Vignere Cipher包含用于加密和解密的Caesar Cipher算法. Vignere Cipher与Caesa
- 在进行CSS网页布局开发时,您肯定遇到过形形色色的布局问题,虽然有大量的教程提供帮助,但最后可能被搞得焦头烂额。本文的目的是让您的设计过程更
- 这篇文章主要介绍了如何使用python实现模拟鼠标点击,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋
- 本文实例讲述了PHP判断是否微信访问的方法。分享给大家供大家参考,具体如下:在开发中有时需要禁止或者仅允许微信浏览器进行访问,则此时就需要对
- 前言pandas对大数据有很多便捷的清洗用法,尤其针对缺失值和重复值。缺失值就不用说了,会影响计算,重复值有时候可能并未带来新的信息反而增加
- 中文如果用表单提交的话,不会出现乱码,而用ajax提交就会出现乱码,这是什么原因呢?我的理解是,我在写源码的时候,一般用记事本写,保存的时候
- 一、决策树的特点1.优点具有很好的解释性,模型可以生成可以理解的规则。可以发现特征的重要程度。模型的计算复杂度较低。2.缺点模型容易过拟合,
- 1、数值类型1.1、数值类型分类严格数值类型(INTEGER、SMALLINT、DECIMAL 和 NUMERIC)近似数值数据类型(FLO
- 在python中操作文件算是一个基本操作,但是选对了模块会让我们的效率大大提升。本篇整理了两种模块的常用方法,分别是os模块和shutil模
- 前言适用于python2和python31. loads方法与load方法的异同在Python中json是一个非常常用的模块,这个主要有4个
- 一、加载库首先加载torch库,进入python后加载库使用import导入【import 库名】二、sin值计算方法pytorch中的si
- 如何编写具有良好结构的CSS?如果在设计流程中缺乏"秩序"或"章法"是非常不利的,你得冒着风险去添加
- Python中可以用docx来生成word文档,docx中可以自定义文字的大小和字体等。其中要整体修改文字的字体大小和字体,可以用以下方法:
- 根本原因:python定义函数时,一般都会有指定返回值,如果没有显式指定返回值,那么python就会默认返回值为None我们输入的代码如下:
- 1、首先,界面上有个按钮触发操作:<button type="button" class="layui-
- 什么是F型浏览?2006年4月,美国长期研究网站可用性的著名网站设计师杰柯柏·尼尔森(Jakob Nielsen)发表了一项《眼球轨迹的研究
- 本文主要介绍的是vue.js插入dom节点的方法,下面话不多说,来看看详细的介绍吧。html代码:<div id="app&
- 这两天在搞Theano,要把mat文件转成pickle格式载入Python。Matlab是把一维数组当做n*1的矩阵的,但Numpy里还是有
- 博主在进行鼎食城毕业设计时,需要实现一个人脸识别登录功能,想到可以利用百度的人脸识别接口来完成,于是便去下载了百度的识别SDK,我用的是PH