zl程序教程

您现在的位置是:首页 >  Python

当前栏目

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

2023-04-18 14:15:04 时间

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

这不马上就又到七夕了嘛,我们可以尝试用python给女朋友比心表白!就像下面这样👇
在这里插入图片描述
下面就带大家来领略一下python表白的方式,让女朋友感受一下IT人的浪漫。

Turtle基本参数

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

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

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

from turtle import *

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

画笔移动命令
turtle.forward()向当前画笔方向移动
turtle.backward()向当前画笔反方向移动
turtle.right()顺时针旋转角度
turtle.left()逆时针旋转角度
turtle.pendown()画笔落下,移动时留下画笔痕迹
turtle.penup()画笔抬起,移动时不留下画笔痕迹
turtle.goto()将画笔移动至坐标轴(x,y)处位置
turtle.circle()画圆,半径为正(负),表示圆心在画笔的左边(右边)画圆

现在,我们尝试用上表中的命令来操作一下,看看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()

比如,上面的代码就是构建了绘制心形的函数,单独测试一下效果。在这里插入图片描述
成功画了一个心形,并填充了颜色。

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

def people():

    # 头部
    color('black')
    go_to(-228, 72)
    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)
    forward(80)
   

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

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

最终成果如下图所示👇
在这里插入图片描述

代码下载

阿里云盘:

https://www.aliyundrive.com/s/wXc9Pvc1dsu

百度网盘:

链接:https://pan.baidu.com/s/1-zRidDemBdsZnsQCQ3U7lQ
提取码:e9lj