python 详解turtle画爱心代码

作者:迢迢x 时间:2022-05-09 20:44:58 

导语:

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

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

正文:

一直觉得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画爱心代码

来源:https://blog.csdn.net/a55656aq/article/details/122853705

标签:python,画爱心,turtle
0
投稿

猜你喜欢

  • EXECUTE IMMEDIATE用法小结

    2009-09-26 18:32:00
  • php基础教程 php内置函数实例教程

    2023-11-14 18:28:45
  • mysql数据库中字符集乱码问题原因及解决

    2024-01-14 19:38:10
  • 用 SA FileUp 上传多文件

    2008-07-04 13:44:00
  • 使用Alt提升可访问性

    2009-04-04 19:22:00
  • python监控linux内存并写入mongodb(推荐)

    2022-02-04 11:28:01
  • 如何使用Pytorch搭建模型

    2022-07-18 10:34:27
  • 如何让IIS支持wap,让ASP生成wml

    2008-05-18 13:42:00
  • 兼容所有浏览器的CSS3圆角[译]

    2009-10-13 21:11:00
  • python如何获取服务器硬件信息

    2023-05-10 18:28:06
  • python进阶教程之循环相关函数range、enumerate、zip

    2022-07-24 04:04:37
  • javascript框架设计之框架分类及主要功能

    2024-04-18 09:33:40
  • python爬虫之urllib3的使用示例

    2023-01-24 07:40:03
  • python基于urllib实现按照百度音乐分类下载mp3的方法

    2022-03-07 21:07:38
  • golang 设置web请求状态码操作

    2024-05-22 10:30:12
  • python+pytest接口自动化参数关联

    2021-07-06 09:43:55
  • python实现的希尔排序算法实例

    2023-03-27 05:01:38
  • c#操作附加数据库的方法

    2024-01-22 06:10:06
  • IE浏览器兼容Firefox的JS脚本的代码

    2024-04-10 13:58:15
  • Vue.js实现文章评论和回复评论功能

    2024-05-29 22:20:31
  • asp之家 网络编程 m.aspxhome.com