用Python画一个生日蛋糕并写上生日祝福对象及生日祝福语。画一个双层蛋糕并点上蜡烛。代码运行时间较长,请静待惊喜出现,代码运行截图:

完整程序代码:
干货主要有:
① 200 多本 Python 电子书(和经典的书籍)应该有
② Python标准库资料(最全中文版)
③ 项目源码(四五十个有趣且可靠的练手项目及源码)
④ Python基础入门、爬虫、网络开发、大数据分析方面的视频(适合小白学习)
⑤ Python学习路线图(告别不入流的学习)
Python学习交流Q群101677771
import turtle as t import math as m import random as r def drawX(a, i): angle = m.radians(i) return a * m.cos(angle) def drawY(b, i): angle = m.radians(i) return b * m.sin(angle) # 设置背景颜色,窗口位置以及大小 t.bgcolor("#d3dae8") t.setup(width=900, height=600, startx=0, starty=0) t.title("好友,祝你生日快乐!") t.speed(2) t.penup() t.goto(150, 0) t.pendown() # 1 t.pencolor("white") t.begin_fill() for i in range(360): x = drawX(150, i) y = drawY(60, i) t.goto(x, y) t.fillcolor("#fef5f7") t.end_fill() # 2 t.begin_fill() for i in range(180): x = drawX(150, -i) y = drawY(70, -i) t.goto(x, y) for i in range(180, 360): x = drawX(150, i) y = drawY(60, i) t.goto(x, y) t.fillcolor("#f2d7dd") t.end_fill() # 3 t.pu() t.goto(120, 0) t.pd() t.begin_fill() for i in range(360): x = drawX(120, i) y = drawY(48, i) t.goto(x, y) t.fillcolor("#cbd9f9") t.end_fill() # 4 t.begin_fill() t.pencolor("#fee48c") for i in range(540): x = drawX(120, i) y = drawY(48, i) + 70 t.goto(x, y) t.goto(-120, 0) t.fillcolor("#cbd9f9") t.end_fill() # 5 t.pu() t.goto(120, 70) t.pd() t.pencolor("#fff0f3") t.begin_fill() for i in range(360): x = drawX(120, i) y = drawY(48, i) + 70 t.goto(x, y) t.fillcolor("#fff0f3") t.end_fill() # 6 t.pu() t.goto(110, 70) t.pd() t.pencolor("#fff9fb") t.begin_fill() for i in range(360): x = drawX(110, i) y = drawY(44, i) + 70 t.goto(x, y) t.fillcolor("#fff9fb") t.end_fill() # 7 t.pu() t.goto(120, 0) t.pd() t.begin_fill() t.pencolor("#ffa79d") for i in range(180): x = drawX(120, -i) y = drawY(48, -i) + 10 t.goto(x, y) t.goto(-120, 0) for i in range(180, 360): x = drawX(120, i) y = drawY(48, i) t.goto(x, y) t.fillcolor("#ffa79d") t.end_fill() # 8 t.pu() t.goto(120, 70) t.pd() t.begin_fill() t.pensize(4) t.pencolor("#fff0f3") for i in range(1800): x = drawX(120, 0.1 * i) y = drawY(-18, i) + 10 t.goto(x, y) t.goto(-120, 70) t.pensize(1) for i in range(180, 360): x = drawX(120, i) y = drawY(48, i) + 70 t.goto(x, y) t.fillcolor("#fff0f3") t.end_fill() # 9 t.pu() t.goto(80, 70) t.pd() t.begin_fill() t.pencolor("#6f3732") t.goto(80, 120) for i in range(180): x = drawX(80, i) y = drawY(32, i) + 120 t.goto(x, y) t.goto(-80, 70) for i in range(180, 360): x = drawX(80, i) y = drawY(32, i) + 70 t.goto(x, y) t.fillcolor("#6f3732") t.end_fill() # 10 t.pu() t.goto(80, 120) t.pd() t.pencolor("#ffaaa0") t.begin_fill() for i in range(360): x = drawX(80, i) y = drawY(32, i) + 120 t.goto(x, y) t.fillcolor("#ffaaa0") t.end_fill() # 11 t.pu() t.goto(70, 120) t.pd() t.pencolor("#ffc3be") t.begin_fill() for i in range(360): x = drawX(70, i) y = drawY(28, i) + 120 t.goto(x, y) t.fillcolor("#ffc3be") t.end_fill() # 12 t.pu() t.goto(80, 120) t.pd() t.begin_fill() t.pensize(3) t.pencolor("#ffaaa0") for i in range(1800): x = drawX(80, 0.1 * i) y = drawY(-12, i) + 80 t.goto(x, y) t.goto(-80, 120) t.pensize(1) for i in range(180, 360): x = drawX(80, i) y = drawY(32, i) + 120 t.goto(x, y) t.fillcolor("#ffaaa0") t.end_fill() # 13 t.pu() t.goto(64, 120) t.pd() t.pencolor("#b1c9e9") t.begin_fill() for i in range(360): x = drawX(4, i) + 60 y = drawY(1, i) + 120 t.goto(x, y) t.goto(64, 170) for i in range(540): x = drawX(4, i) + 60 y = drawY(1, i) + 170 t.goto(x, y) t.goto(56,