水调歌头·明月几时有
【作者】苏轼 【朝代】宋
丙辰中秋,欢饮达旦,大醉,作此篇,兼怀子由。
明月几时有?把酒问青天。不知天上宫阙,今夕是何年。我欲乘风归去,又恐琼楼玉宇,高处不胜寒。起舞弄清影,何似在人间。
转朱阁,低绮户,照无眠。不应有恨,何事长向别时圆?人有悲欢离合,月有阴晴圆缺,此事古难全。但愿人长久,千里共婵娟。
很快就要到农历八月十五了,一年一度的中秋团圆节。中秋节要吃月饼,随着生活水平的提高,月饼的种类也越来越多,经典的五仁月饼、刺激的椒盐月饼、多样的水果月饼、迷人的豆沙月饼还有肉松月饼等等。
作为一名小程序猿,今年,我准备用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()
效果如下: