一年一度的中秋节又要来了,作为程序员的我们当然要画“饼”充饥了。

本文二哥带领大家用Python画几个月饼~

❤️温馨提示:工作再忙,别忘了吃饼~❤️
❤️提前祝大家中秋节快乐❤️

<>一、准备

* Python3
* turtle模块
* 勤劳的小手
<>二、构思与绘图

找一块传统月饼为例:

<>绘制外表

想要画月饼,第一个我们能想到的就是圆形的外表,但是月饼的圆通常比较特殊,每个位置会有一个凸起的弧度$%&%$…(不知道如何形容)总结一下就是像花一样的形状。

代码如下

代码中的循环用于绘制小的弧线,最终弧线连接成花的形状,并且涂上颜色。
from turtle import * # 隐藏海龟 hideturtle() # 颜色模式 colormode(255) pensize(2)
pencolor(0, 0, 0) fillcolor(231, 162, 63) begin_fill() for i in range(12): if i
== 5: p = pos() circle(30, 120) right(90) end_fill() mainloop()
实现结果如下

<>绘制阴影

为了让月饼显得立体一些,我们需要画出阴影的效果,对于阴影的实现,我们将月饼外表水平移动后换个颜色即可。

代码如下

整体思路和上述相同,我们更改颜色并将表面覆盖于阴影上即可。
# 隐藏画笔移动 penup() fd(20) pendown() fillcolor(255, 166, 16) begin_fill() for i in
range(12): circle(30, 120) right(90) end_fill()
结果如下:

<>绘制文字

光绘制外表,必然显得空唠唠的,因此我们在月饼的中间添加四个文字来体现口味即可。

代码如下

我们直接使用turtle中的write功能进行文字绘制即可。
pencolor(204, 22, 58) left(90) fd(140) left(90) fd(140) left(90) fd(72) p = pos
() write('伍仁', font=('Arial', 70, 'normal')) fd(70) write('月饼', font=('Arial',
70, 'normal')) left(90) fd(140)
结果如下

这样我们的月饼就做好了。

<>三、代码完善

不同的小伙伴想要不同颜色不同口味的月饼,因此二哥将代码改造成如下可以自定义的形式。
完整代码如下
from turtle import * # 隐藏海龟 hideturtle() # 颜色模式 colormode(255) ''' 函数说明:
pensize:画笔粗细 pencolor:画笔颜色 fillcolor:填充颜色 begin_fill:开始填充 fd:前进 circle:画圆
right:右转 end_fill():结束填充 ''' def MoonCake(bgcolor, mkcolor, wdcolor, words):
''' 参数说明: bgcolor: 背景颜色 mkcolor: 月饼颜色 wdcolor: 文字颜色 words: 文字(4个字) ''' pensize(2
) pencolor(0, 0, 0) fillcolor(bgcolor) begin_fill() for i in range(12): if i ==
5: p = pos() circle(30, 120) right(90) end_fill() penup() fd(20) pendown()
fillcolor(mkcolor) begin_fill() for i in range(12): circle(30, 120) right(90)
end_fill() pencolor(wdcolor) left(90) fd(140) left(90) fd(140) left(90) fd(72) p
= pos() wd1 = words[0:2] wd2 = words[2:4] write(wd1, font=('Arial', 70, 'normal'
)) fd(70) write(wd2, font=('Arial', 70, 'normal')) left(90) fd(140) #
MoonCake((231, 162, 63), (255, 166, 16), (204, 22, 58), '五仁月饼') MoonCake((97,
154, 195),(186, 204, 217) ,(17, 101, 154), '冰皮月饼') mainloop()

❤️ 再一次祝大家中秋节快乐❤️
❤️ 创作不易,点个赞吧~❤️

技术
下载桌面版
GitHub
Gitee
SourceForge
百度网盘(提取码:draw)
云服务器优惠
华为云优惠券
腾讯云优惠券
阿里云优惠券
Vultr优惠券
站点信息
问题反馈
邮箱:[email protected]
吐槽一下
QQ群:766591547
关注微信