使用Python的内置的turtle模块来绘制中秋节快乐场景
中秋节,是中国民间的传统节日。每年农历八月十五庆祝。现在使用Python的内置的turtle模块来绘制中秋节快乐场景。先给出效果图:
再给出源码:
import turtle as t
import random as r# 设置画布
t.setup(width=800, height=600)
t.bgcolor("navy") # 设置背景色
t.title("中秋节快乐!")# 函数:绘制月亮
def draw_moon(x, y, radius):t.penup()t.goto(x, y - radius) # 移动到圆的底部t.pendown()t.color("lightyellow")t.begin_fill()t.circle(radius) # 绘制圆t.end_fill()# 函数:绘制星星
def draw_star(x, y, size):t.penup()t.goto(x, y) # 移动到星星位置t.pendown()t.color("white")t.begin_fill()for _ in range(5): # 绘制五角星t.forward(size)t.right(144) # 转角144度t.end_fill()# 绘制立体月饼
def draw_circle(x, y, radius, color):t.penup()t.goto(x, y - radius)t.pendown()t.color(color)t.begin_fill()t.circle(radius)t.end_fill()def draw_3d_mooncake(x, y, radius):# 绘制阴影draw_circle(x + 8, y - 8, radius, "#D2B48C")# 绘制月饼主体for i in range(radius, 5, -3):color = (1 - i/radius, 0.7 - i/(radius*2), 0.4 - i/(radius*3))draw_circle(x, y, i, color)# 绘制月饼表面花纹t.penup()t.goto(x, y)t.pendown()t.color("#8B4513")t.setheading(0)# 在中心写"月"字t.penup()t.goto(x, y - 9) # 稍微向下调整以使字符居中t.color("#8B4513") # 使用深褐色t.write("月", align="center", font=("Arial", 10, "bold"))# 绘制月亮
draw_moon(200, 230, 50)# 随机绘制星星
for _ in range(15):x = r.randint(-400, 400) # 随机 x 坐标y = r.randint(0, 250) # 随机 y 坐标draw_star(x, y, r.randint(10, 20)) # 随机星星大小# 绘制立体月饼
#draw_mooncake(-200, -100)
# 绘制立体感月饼
draw_3d_mooncake(-200, -100, 30)
draw_3d_mooncake(-100, -100, 30)# 绘制贺词
t.penup()
t.goto(0, -250)
t.color("white")
t.pendown()
t.write("祝大家中秋节快乐!", align="center", font=("Arial", 24, "bold"))# 完成绘制
t.hideturtle() # 隐藏海龟
t.done() # 结束