社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Python

七夕要到了,用Python比心表白

Crossin的编程教室 • 4 年前 • 829 次点击  



大家好,欢迎来到 Crossin的编程教室 !

每到各种节日,不少小伙伴们都会遇到这样一个世纪问题——怎么给心仪的女生/女朋友/老婆一个与众不同的节日惊喜。

这不马上就又要到七夕了嘛,我们可以尝试用python给女朋友比心表白!就像下面这这样👇

下面就带大家来领略一下用Python表白的方式,让女朋友们感受一下IT人的浪漫。

Turtle基本参数

python的强大在于它有许多的强大的库,turtle是其中可以交互式的绘画的模块。也是很多提升初学者学习python乐趣的秘密法宝!

作为一个艺术白痴,想要画一幅画可能很困难,但是利用python的turtle库,只需要几行代码你就能实现绘画[1]

turtle是python自带的一个库,直接调用就可以了。

from turtle import *

然后接下来我们需要了解一下turtle的基本语句,为画图打好基础。


现在,我们尝试用上表中的命令来操作一下,看看turtle是怎么运动的。

from turtle import *

forward(200# 从当前画笔方向移动200
left(90# 逆时针移动90°
backward(200# 在当前画笔方向的反方向移动200
right(90# 顺时针移动90°
circle(200# 画一个半径为200的圆,圆心在画笔左边

运行后效果如下

可以看到,画笔按照我们的设想运动了起来。下面我们开始尝试自己简单模仿来画图啦

海龟画图

不过为了节省工作量,我们可以创建一些函数,这样就不用把很多基本代码写很多遍了。

def heart(x, y, size):
    go_to(x, y)
    left(150)
    begin_fill()
    forward(51*size)
    ring(150,size,0.3,'right')
    ring(210,size,0.786,'right')
    left(120)
    ring(210,size,0.786,'right')
    ring(150,size,0.3 ,'right')
    forward(51*size)
    end_fill()

比如,上面的代码就是构建了绘制心形的函数,单独测试一下效果。

成功画了一个心形,并填充了颜色。

剩下的我们就可以利用直线与曲线来依次绘制小人的头部、手臂和身体等。

#头部
color('black')
go_to(-22872)
pensize(3)
left(150)
ring(350,1,0.8,'right')

#手臂
left(150)
forward(70)
left(90)
forward(10)
ring(200,0.1,0.9,'right')
forward(10)
left(90)
forward(20)
ring(200,0.1,0.9,'right')
forward(10)
left(90)
ring(200,0.2,0.9,'right')
left(100)
left
forward(80)

当然,除了添加心形,还可以添加一些文字。如果大家想自定义文字,直接更改参数中的文字520就好。

# 添加文字
go_to(-3969)
write("520", align="left", font=("黑体"30"normal"))

最终成果如下图所示👇

代码下载

如果有小伙伴对本文代码感兴趣,可点击下方公众号名片,回复关键字 七夕

参考资料

[1]

DC学习助手: 只要十分钟,python绘图神器turtle了解一下?



如果文章对你有帮助,欢迎转发/点赞/收藏~

作者:快快

来源:快学Python


_往期文章推荐_

送你个情人节礼物:抖音同款表白神器




如需了解付费精品课程教学答疑服务
请在Crossin的编程教室内回复: 666

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/118424