使用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


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

相关文章
|
8月前
|
程序员 Python
中秋节之Python绘制许愿树和月饼(打开程序员世界的大门)
中秋节之Python绘制许愿树和月饼(打开程序员世界的大门)
|
8月前
|
Python
问题解答之python等待
问题解答之python等待
|
4月前
|
存储 Linux 数据库
长文预警,一篇文章扫盲Python、NumPy 和 Pandas,建议收藏慢慢看
长文预警,一篇文章扫盲Python、NumPy 和 Pandas,建议收藏慢慢看
|
5月前
|
JavaScript Python
利用Python来实现动态吃月饼不过分吧!
利用Python来实现动态吃月饼不过分吧!
|
编解码 Python
python--海温、OLR数据分布做显著性检验,绘制空间分布并打点
使用python对海洋气象数据做显著性检验,并绘制空间pattern
python--海温、OLR数据分布做显著性检验,绘制空间分布并打点
|
9月前
|
Python
送你一个Python做的Crossin牌“月饼”
画这样一个月饼,其实不需要太多的代码,笔者只用了不到50行代码,而且用的是我们经常用到的绘图库matplotlib,这对于我们大部分人来说是很容易上手的,下面笔者就详细介绍一下怎么画这样一个月饼。
|
10月前
|
Python
Python:Selenium中三种等待方法说明
Python:Selenium中三种等待方法说明
60 0
|
11月前
|
人工智能 前端开发 Python
Python turtle库如何瞬间完成作图?难道只难像海龟一样慢慢爬吗?
Python turtle库如何瞬间完成作图?难道只难像海龟一样慢慢爬吗?
208 0
Python turtle库如何瞬间完成作图?难道只难像海龟一样慢慢爬吗?
|
调度 Python
Python 异步: 等待有时间限制的协程(12)
我们可以使用 asyncio.wait_for() 函数等待 asyncio 任务或协程超时完成。如果在任务完成之前超时已过,任务将被取消。
253 0