使用python绘制月饼,慢慢等待将至的中秋节

简介: 简介:很快就要到农历八月十五了,一年一度的中秋团圆节。中秋节要吃月饼,随着生活水平的提高,月饼的种类也越来越多,经典的五仁月饼、刺激的椒盐月饼、多样的水果月饼、迷人的豆沙月饼还有肉松月饼等等。作为一名小程序猿,今年,我准备用python制作一个月饼🥮。

水调歌头·明月几时有

【作者】苏轼 【朝代】宋

丙辰中秋,欢饮达旦,大醉,作此篇,兼怀子由。

明月几时有?把酒问青天。不知天上宫阙,今夕是何年。我欲乘风归去,又恐琼楼玉宇,高处不胜寒。起舞弄清影,何似在人间。

转朱阁,低绮户,照无眠。不应有恨,何事长向别时圆?人有悲欢离合,月有阴晴圆缺,此事古难全。但愿人长久,千里共婵娟。


很快就要到农历八月十五了,一年一度的中秋团圆节。中秋节要吃月饼,随着生活水平的提高,月饼的种类也越来越多,经典的五仁月饼、刺激的椒盐月饼、多样的水果月饼、迷人的豆沙月饼还有肉松月饼等等。


作为一名小程序猿,今年,我准备用python制作一个月饼🥮。


代码如下:

参数可以自己修改调整

# -*- coding: UTF-8 -*-
"""
# @Time: 2021/9/14 21:13
# @Author: 远方的星
# @CSDN: https://blog.csdn.net/qq_44921056
"""
import turtle as turtle
import math
turtle.hideturtle()
turtle.speed(10)
class MoonCake(object):
    def __init__(self, name: str):
        self.name = name
    #  画月饼的花边
    def external_pattern(self, r: int, n: int):  # r为外部花边的圆的半径;n为外部花边的个数
        turtle.penup()
        turtle.goto(0, -r)
        turtle.pendown()
        round_r = math.sin(math.pi / n) * r  # 月饼花圈的半径
        for i in range(n):
            turtle.penup()  # 画笔抬起
            turtle.home()  # 恢复为初始位置
            turtle.seth((360/n) * i)  # 改变画笔方向,但不前进
            turtle.fd(r)
            turtle.left((360/n) * 0.5)  # 画笔左转一定的角度
            turtle.pendown()
            turtle.color('#F0BE7C')  # 设置颜色
            turtle.begin_fill()  # 开始填充颜色
            turtle.circle(round_r, 180)
            turtle.end_fill()
    # 画内部纹路图案
    def internal_pattern(self):
        turtle.color('#F5E16F')
        turtle.goto(0, -180)
        for _ in range(8):
            turtle.begin_fill()
            turtle.circle(60, 120)
            turtle.left(180)
            turtle.circle(60, 120)
            turtle.end_fill()
    # 画圆的子函数,下文需要调用
    def draw_circle(self, r: int, pensize: int, color1: str, color2: str):
        turtle.penup()
        turtle.goto(0, -r)
        turtle.seth(0)
        turtle.pendown()
        turtle.pensize(pensize, )
        turtle.color(color1, color2)
        turtle.begin_fill()
        turtle.circle(r)
        turtle.end_fill()
    # 画月饼内部的框架的子函数,下文需要调用
    def draw(self):
        turtle.title("提前祝您中秋快乐!!!")  # 画板窗口的标题
        self.external_pattern(200, 12)  # 月饼的外花边
        self.draw_circle(200, 10, '#F0BE7C', '#F0BE7C')  # 画上大圆圈
        self.draw_circle(180, 10, '#F8CD32', '#FBA92D')  # 画上小圆圈
        self.internal_pattern()
        self.write_text(-105, -60)
        turtle.done()
    # 填写月饼中间的文本
    def write_text(self, x: float, y: float):
        turtle.penup()
        turtle.goto(x, y)
        turtle.pendown()
        turtle.color('Gold')
        turtle.write(self.name, font=("华文隶书", 80, "bold"))  # 写上文本
if __name__ == '__main__':
    MoonCake('团圆').draw()

效果如下:


5928b231b3e744f0928ca29e09de2c04.gif


提前祝大家中秋节团团圆圆,美美满满!

相关文章
|
6月前
|
搜索推荐 Python
用Python给大家画个小月饼祝福
本文分享了关于中秋的主题,指出生活不仅是赶路,更要感受沿途的美好。尽管人们常想提前躲避拥堵,但假期出行依然人多。文中未提供文献分享,而是祝大家中秋国庆双节快乐,并附上了一段Python代码,用于绘制月饼图形,鼓励读者自定义设计。最后提到代码相对简单,适合个性化创作。
47 0
中秋节之Python绘制许愿树和月饼(打开程序员世界的大门)
中秋节之Python绘制许愿树和月饼(打开程序员世界的大门)
|
4月前
|
数据采集 大数据 数据安全/隐私保护
Python编程:如何有效等待套接字的读取与关闭
Python网络编程中,套接字事件处理至关重要。利用`selectors`模块和代理IP能增强程序的稳定性和可靠性。代码示例展示了如何通过代理连接目标服务器,注册套接字的读写事件并高效处理。在代理IP配置、连接创建、事件循环及回调函数中,实现了数据收发与连接管理,有效应对网络爬虫或聊天应用的需求,同时保护了真实IP。
Python编程:如何有效等待套接字的读取与关闭
|
6月前
|
JavaScript 测试技术 Python
【如何学习Python自动化测试】—— 时间等待
【如何学习Python自动化测试】—— 时间等待
|
6月前
|
Python
用Python给大家画个小月饼祝福
在拥堵的节日出行中,我们体会到生活不只是赶路,而是感受旅途。本文未分享文献,而是送上中秋祝福与一段Python代码,用turtle库绘制了一个精美的月饼图形,寓意双节快乐。代码中定义了`MoonCake`类,包含绘制月饼外形和纹理的方法,最后展示了一个带有"中秋节\n快乐吖"文字的月饼图像。鼓励读者自定义创新,享受编程的乐趣。
41 2
|
6月前
|
存储 Linux 数据库
长文预警,一篇文章扫盲Python、NumPy 和 Pandas,建议收藏慢慢看
长文预警,一篇文章扫盲Python、NumPy 和 Pandas,建议收藏慢慢看
|
编解码 Python
python--海温、OLR数据分布做显著性检验,绘制空间分布并打点
使用python对海洋气象数据做显著性检验,并绘制空间pattern
python--海温、OLR数据分布做显著性检验,绘制空间分布并打点
|
JavaScript Python
利用Python来实现动态吃月饼不过分吧!
利用Python来实现动态吃月饼不过分吧!
|
人工智能 前端开发 Python
Python turtle库如何瞬间完成作图?难道只难像海龟一样慢慢爬吗?
Python turtle库如何瞬间完成作图?难道只难像海龟一样慢慢爬吗?
359 0
Python turtle库如何瞬间完成作图?难道只难像海龟一样慢慢爬吗?