用Python画一个生日蛋糕并写上生日祝福对象及生日祝福语

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

完整程序代码:

干货主要有:

① 200 多本 Python 电子书(和经典的书籍)应该有

② Python标准库资料(最全中文版)

③ 项目源码(四五十个有趣且可靠的练手项目及源码)

④ Python基础入门、爬虫、网络开发、大数据分析方面的视频(适合小白学习)

⑤ Python学习路线图(告别不入流的学习)

Python学习交流Q群101677771
<span class="hljs-keyword">import turtle as t
<span class="hljs-keyword">import math as m
<span class="hljs-keyword">import random as r

def drawX(a, i):
    angle = m.radians(i)
    <span class="hljs-keyword">return a * m.cos(angle)

def drawY(b, i):
    angle = m.radians(i)
    <span class="hljs-keyword">return b * m.sin(angle)

&#x8BBE;&#x7F6E;&#x80CC;&#x666F;&#x989C;&#x8272;&#xFF0C;&#x7A97;&#x53E3;&#x4F4D;&#x7F6E;&#x4EE5;&#x53CA;&#x5927;&#x5C0F;
t.bgcolor(<span class="hljs-string">"#d3dae8")
t.setup(width=<span class="hljs-number">900, height=<span class="hljs-number">600, startx=<span class="hljs-number">0, starty=<span class="hljs-number">0)
t.title(<span class="hljs-string">"&#x597D;&#x53CB;&#xFF0C;&#x795D;&#x4F60;&#x751F;&#x65E5;&#x5FEB;&#x4E50;&#xFF01;")
t.speed(<span class="hljs-number">2)
t.penup()
t.<span class="hljs-keyword">goto(<span class="hljs-number">150, <span class="hljs-number">0)
t.pendown()
<span class="hljs-number">1
t.pencolor(<span class="hljs-string">"white")
t.begin_fill()
<span class="hljs-keyword">for i in <span class="hljs-keyword">range(<span class="hljs-number">360):
    x = drawX(<span class="hljs-number">150, i)
    y = drawY(<span class="hljs-number">60, i)
    t.<span class="hljs-keyword">goto(x, y)
t.fillcolor(<span class="hljs-string">"#fef5f7")
t.end_fill()
<span class="hljs-number">2
t.begin_fill()
<span class="hljs-keyword">for i in <span class="hljs-keyword">range(<span class="hljs-number">180):
    x = drawX(<span class="hljs-number">150, -i)
    y = drawY(<span class="hljs-number">70, -i)
    t.<span class="hljs-keyword">goto(x, y)
<span class="hljs-keyword">for i in <span class="hljs-keyword">range(<span class="hljs-number">180, <span class="hljs-number">360):
    x = drawX(<span class="hljs-number">150, i)
    y = drawY(<span class="hljs-number">60, i)
    t.<span class="hljs-keyword">goto(x, y)
t.fillcolor(<span class="hljs-string">"#f2d7dd")
t.end_fill()
<span class="hljs-number">3
t.pu()
t.<span class="hljs-keyword">goto(<span class="hljs-number">120, <span class="hljs-number">0)
t.pd()
t.begin_fill()
<span class="hljs-keyword">for i in <span class="hljs-keyword">range(<span class="hljs-number">360):
    x = drawX(<span class="hljs-number">120, i)
    y = drawY(<span class="hljs-number">48, i)
    t.<span class="hljs-keyword">goto(x, y)
t.fillcolor(<span class="hljs-string">"#cbd9f9")
t.end_fill()
<span class="hljs-number">4
t.begin_fill()
t.pencolor(<span class="hljs-string">"#fee48c")
<span class="hljs-keyword">for i in <span class="hljs-keyword">range(<span class="hljs-number">540):
    x = drawX(<span class="hljs-number">120, i)
    y = drawY(<span class="hljs-number">48, i) + <span class="hljs-number">70
    t.<span class="hljs-keyword">goto(x, y)
t.<span class="hljs-keyword">goto(<span class="hljs-number">-120, <span class="hljs-number">0)
t.fillcolor(<span class="hljs-string">"#cbd9f9")
t.end_fill()
<span class="hljs-number">5
t.pu()
t.<span class="hljs-keyword">goto(<span class="hljs-number">120, <span class="hljs-number">70)
t.pd()
t.pencolor(<span class="hljs-string">"#fff0f3")
t.begin_fill()
<span class="hljs-keyword">for i in <span class="hljs-keyword">range(<span class="hljs-number">360):
    x = drawX(<span class="hljs-number">120, i)
    y = drawY(<span class="hljs-number">48, i) + <span class="hljs-number">70
    t.<span class="hljs-keyword">goto(x, y)
t.fillcolor(<span class="hljs-string">"#fff0f3")
t.end_fill()
<span class="hljs-number">6
t.pu()
t.<span class="hljs-keyword">goto(<span class="hljs-number">110, <span class="hljs-number">70)
t.pd()
t.pencolor(<span class="hljs-string">"#fff9fb")
t.begin_fill()
<span class="hljs-keyword">for i in <span class="hljs-keyword">range(<span class="hljs-number">360):
    x = drawX(<span class="hljs-number">110, i)
    y = drawY(<span class="hljs-number">44, i) + <span class="hljs-number">70
    t.<span class="hljs-keyword">goto(x, y)
t.fillcolor(<span class="hljs-string">"#fff9fb")
t.end_fill()
<span class="hljs-number">7
t.pu()
t.<span class="hljs-keyword">goto(<span class="hljs-number">120, <span class="hljs-number">0)
t.pd()
t.begin_fill()
t.pencolor(<span class="hljs-string">"#ffa79d")
<span class="hljs-keyword">for i in <span class="hljs-keyword">range(<span class="hljs-number">180):
    x = drawX(<span class="hljs-number">120, -i)
    y = drawY(<span class="hljs-number">48, -i) + <span class="hljs-number">10
    t.<span class="hljs-keyword">goto(x, y)
t.<span class="hljs-keyword">goto(<span class="hljs-number">-120, <span class="hljs-number">0)
<span class="hljs-keyword">for i in <span class="hljs-keyword">range(<span class="hljs-number">180, <span class="hljs-number">360):
    x = drawX(<span class="hljs-number">120, i)
    y = drawY(<span class="hljs-number">48, i)
    t.<span class="hljs-keyword">goto(x, y)
t.fillcolor(<span class="hljs-string">"#ffa79d")
t.end_fill()
<span class="hljs-number">8
t.pu()
t.<span class="hljs-keyword">goto(<span class="hljs-number">120, <span class="hljs-number">70)
t.pd()
t.begin_fill()
t.pensize(<span class="hljs-number">4)
t.pencolor(<span class="hljs-string">"#fff0f3")
<span class="hljs-keyword">for i in <span class="hljs-keyword">range(<span class="hljs-number">1800):
    x = drawX(<span class="hljs-number">120, <span class="hljs-number">0.1 * i)
    y = drawY(<span class="hljs-number">-18, i) + <span class="hljs-number">10
    t.<span class="hljs-keyword">goto(x, y)
t.<span class="hljs-keyword">goto(<span class="hljs-number">-120, <span class="hljs-number">70)
t.pensize(<span class="hljs-number">1)
<span class="hljs-keyword">for i in <span class="hljs-keyword">range(<span class="hljs-number">180, <span class="hljs-number">360):
    x = drawX(<span class="hljs-number">120, i)
    y = drawY(<span class="hljs-number">48, i) + <span class="hljs-number">70
    t.<span class="hljs-keyword">goto(x, y)
t.fillcolor(<span class="hljs-string">"#fff0f3")
t.end_fill()
<span class="hljs-number">9
t.pu()
t.<span class="hljs-keyword">goto(<span class="hljs-number">80, <span class="hljs-number">70)
t.pd()
t.begin_fill()
t.pencolor(<span class="hljs-string">"#6f3732")
t.<span class="hljs-keyword">goto(<span class="hljs-number">80, <span class="hljs-number">120)
<span class="hljs-keyword">for i in <span class="hljs-keyword">range(<span class="hljs-number">180):
    x = drawX(<span class="hljs-number">80, i)
    y = drawY(<span class="hljs-number">32, i) + <span class="hljs-number">120
    t.<span class="hljs-keyword">goto(x, y)
t.<span class="hljs-keyword">goto(<span class="hljs-number">-80, <span class="hljs-number">70)
<span class="hljs-keyword">for i in <span class="hljs-keyword">range(<span class="hljs-number">180, <span class="hljs-number">360):
    x = drawX(<span class="hljs-number">80, i)
    y = drawY(<span class="hljs-number">32, i) + <span class="hljs-number">70
    t.<span class="hljs-keyword">goto(x, y)
t.fillcolor(<span class="hljs-string">"#6f3732")
t.end_fill()
<span class="hljs-number">10
t.pu()
t.<span class="hljs-keyword">goto(<span class="hljs-number">80, <span class="hljs-number">120)
t.pd()
t.pencolor(<span class="hljs-string">"#ffaaa0")
t.begin_fill()
<span class="hljs-keyword">for i in <span class="hljs-keyword">range(<span class="hljs-number">360):
    x = drawX(<span class="hljs-number">80, i)
    y = drawY(<span class="hljs-number">32, i) + <span class="hljs-number">120
    t.<span class="hljs-keyword">goto(x, y)
t.fillcolor(<span class="hljs-string">"#ffaaa0")
t.end_fill()
<span class="hljs-number">11
t.pu()
t.<span class="hljs-keyword">goto(<span class="hljs-number">70, <span class="hljs-number">120)
t.pd()
t.pencolor(<span class="hljs-string">"#ffc3be")
t.begin_fill()
<span class="hljs-keyword">for i in <span class="hljs-keyword">range(<span class="hljs-number">360):
    x = drawX(<span class="hljs-number">70, i)
    y = drawY(<span class="hljs-number">28, i) + <span class="hljs-number">120
    t.<span class="hljs-keyword">goto(x, y)
t.fillcolor(<span class="hljs-string">"#ffc3be")
t.end_fill()
<span class="hljs-number">12
t.pu()
t.<span class="hljs-keyword">goto(<span class="hljs-number">80, <span class="hljs-number">120)
t.pd()
t.begin_fill()
t.pensize(<span class="hljs-number">3)
t.pencolor(<span class="hljs-string">"#ffaaa0")
<span class="hljs-keyword">for i in <span class="hljs-keyword">range(<span class="hljs-number">1800):
    x = drawX(<span class="hljs-number">80, <span class="hljs-number">0.1 * i)
    y = drawY(<span class="hljs-number">-12, i) + <span class="hljs-number">80
    t.<span class="hljs-keyword">goto(x, y)
t.<span class="hljs-keyword">goto(<span class="hljs-number">-80, <span class="hljs-number">120)
t.pensize(<span class="hljs-number">1)
<span class="hljs-keyword">for i in <span class="hljs-keyword">range(<span class="hljs-number">180, <span class="hljs-number">360):
    x = drawX(<span class="hljs-number">80, i)
    y = drawY(<span class="hljs-number">32, i) + <span class="hljs-number">120
    t.<span class="hljs-keyword">goto(x, y)
t.fillcolor(<span class="hljs-string">"#ffaaa0")
t.end_fill()
<span class="hljs-number">13
t.pu()
t.<span class="hljs-keyword">goto(<span class="hljs-number">64, <span class="hljs-number">120)
t.pd()
t.pencolor(<span class="hljs-string">"#b1c9e9")
t.begin_fill()
<span class="hljs-keyword">for i in <span class="hljs-keyword">range(<span class="hljs-number">360):
    x = drawX(<span class="hljs-number">4, i) + <span class="hljs-number">60
    y = drawY(<span class="hljs-number">1, i) + <span class="hljs-number">120
    t.<span class="hljs-keyword">goto(x, y)
t.<span class="hljs-keyword">goto(<span class="hljs-number">64, <span class="hljs-number">170)
<span class="hljs-keyword">for i in <span class="hljs-keyword">range(<span class="hljs-number">540):
    x = drawX(<span class="hljs-number">4, i) + <span class="hljs-number">60
    y = drawY(<span class="hljs-number">1, i) + <span class="hljs-number">170
    t.<span class="hljs-keyword">goto(x, y)
t.<span class="hljs-keyword">goto(<span class="hljs-number">56, <span class="hljs-number">120)
t.fillcolor(<span class="hljs-string">"#b1c9e9")
t.end_fill()
t.pencolor(<span class="hljs-string">"white")
t.pensize(<span class="hljs-number">2)
<span class="hljs-keyword">for i in <span class="hljs-keyword">range(<span class="hljs-number">1, <span class="hljs-number">6):
    t.<span class="hljs-keyword">goto(<span class="hljs-number">64, <span class="hljs-number">120 + <span class="hljs-number">10 * i)
    t.pu()
    t.<span class="hljs-keyword">goto(<span class="hljs-number">56, <span class="hljs-number">120 + <span class="hljs-number">10 * i)
    t.pd()
t.pu()
t.<span class="hljs-keyword">goto(<span class="hljs-number">60, <span class="hljs-number">170)
t.pd()
t.<span class="hljs-keyword">goto(<span class="hljs-number">60, <span class="hljs-number">180)
t.pensize(<span class="hljs-number">1)
#
t.pu()
t.<span class="hljs-keyword">goto(<span class="hljs-number">64, <span class="hljs-number">190)
t.pd()
t.pencolor(<span class="hljs-string">"#f1add1")
t.begin_fill()
<span class="hljs-keyword">for i in <span class="hljs-keyword">range(<span class="hljs-number">360):
    x = drawX(<span class="hljs-number">4, i) + <span class="hljs-number">60
    y = drawY(<span class="hljs-number">10, i) + <span class="hljs-number">190
    t.<span class="hljs-keyword">goto(x, y)
t.fillcolor(<span class="hljs-string">"#f1add1")
t.end_fill()

<span class="hljs-number">14
t.pu()
t.<span class="hljs-keyword">goto(<span class="hljs-number">-56, <span class="hljs-number">120)
t.pd()
t.pencolor(<span class="hljs-string">"#b1c9e9")
t.begin_fill()
<span class="hljs-keyword">for i in <span class="hljs-keyword">range(<span class="hljs-number">360):
    x = drawX(<span class="hljs-number">4, i) - <span class="hljs-number">60
    y = drawY(<span class="hljs-number">1, i) + <span class="hljs-number">120
    t.<span class="hljs-keyword">goto(x, y)
t.<span class="hljs-keyword">goto(<span class="hljs-number">-56, <span class="hljs-number">170)
<span class="hljs-keyword">for i in <span class="hljs-keyword">range(<span class="hljs-number">540):
    x = drawX(<span class="hljs-number">4, i) - <span class="hljs-number">60
    y = drawY(<span class="hljs-number">1, i) + <span class="hljs-number">170
    t.<span class="hljs-keyword">goto(x, y)
t.<span class="hljs-keyword">goto(<span class="hljs-number">-64, <span class="hljs-number">120)
t.fillcolor(<span class="hljs-string">"#b1c9e9")
t.end_fill()
t.pencolor(<span class="hljs-string">"white")
t.pensize(<span class="hljs-number">2)
<span class="hljs-keyword">for i in <span class="hljs-keyword">range(<span class="hljs-number">1, <span class="hljs-number">6):
    t.<span class="hljs-keyword">goto(<span class="hljs-number">-56, <span class="hljs-number">120 + <span class="hljs-number">10 * i)
    t.pu()
    t.<span class="hljs-keyword">goto(<span class="hljs-number">-64, <span class="hljs-number">120 + <span class="hljs-number">10 * i)
    t.pd()
t.pu()
t.<span class="hljs-keyword">goto(<span class="hljs-number">-60, <span class="hljs-number">170)
t.pd()
t.<span class="hljs-keyword">goto(<span class="hljs-number">-60, <span class="hljs-number">180)
t.pensize(<span class="hljs-number">1)
#
t.pu()
t.<span class="hljs-keyword">goto(<span class="hljs-number">-56, <span class="hljs-number">190)
t.pd()
t.pencolor(<span class="hljs-string">"#f1add1")
t.begin_fill()
<span class="hljs-keyword">for i in <span class="hljs-keyword">range(<span class="hljs-number">360):
    x = drawX(<span class="hljs-number">4, i) - <span class="hljs-number">60
    y = drawY(<span class="hljs-number">10, i) + <span class="hljs-number">190
    t.<span class="hljs-keyword">goto(x, y)
t.fillcolor(<span class="hljs-string">"#f1add1")
t.end_fill()
<span class="hljs-number">15
t.pu()
t.<span class="hljs-keyword">goto(<span class="hljs-number">0, <span class="hljs-number">130)
t.pd()
t.pencolor(<span class="hljs-string">"#b1c9e9")
t.begin_fill()
<span class="hljs-keyword">for i in <span class="hljs-keyword">range(<span class="hljs-number">360):
    x = drawX(<span class="hljs-number">4, i)
    y = drawY(<span class="hljs-number">1, i) + <span class="hljs-number">130
    t.<span class="hljs-keyword">goto(x, y)
t.<span class="hljs-keyword">goto(<span class="hljs-number">4, <span class="hljs-number">180)
<span class="hljs-keyword">for i in <span class="hljs-keyword">range(<span class="hljs-number">540):
    x = drawX(<span class="hljs-number">4, i)
    y = drawY(<span class="hljs-number">1, i) + <span class="hljs-number">180
    t.<span class="hljs-keyword">goto(x, y)
t.<span class="hljs-keyword">goto(<span class="hljs-number">-4, <span class="hljs-number">130)
t.fillcolor(<span class="hljs-string">"#b1c9e9")
t.end_fill()
t.pencolor(<span class="hljs-string">"white")
t.pensize(<span class="hljs-number">2)
<span class="hljs-keyword">for i in <span class="hljs-keyword">range(<span class="hljs-number">1, <span class="hljs-number">6):
    t.<span class="hljs-keyword">goto(<span class="hljs-number">4, <span class="hljs-number">130 + <span class="hljs-number">10 * i)
    t.pu()
    t.<span class="hljs-keyword">goto(<span class="hljs-number">-4, <span class="hljs-number">130 + <span class="hljs-number">10 * i)
    t.pd()
t.pu()
t.<span class="hljs-keyword">goto(<span class="hljs-number">0, <span class="hljs-number">180)
t.pd()
t.<span class="hljs-keyword">goto(<span class="hljs-number">0, <span class="hljs-number">190)
t.pensize(<span class="hljs-number">1)
#
t.pu()
t.<span class="hljs-keyword">goto(<span class="hljs-number">4, <span class="hljs-number">200)
t.pd()
t.pencolor(<span class="hljs-string">"#f1add1")
t.begin_fill()
<span class="hljs-keyword">for i in <span class="hljs-keyword">range(<span class="hljs-number">360):
    x = drawX(<span class="hljs-number">4, i)
    y = drawY(<span class="hljs-number">10, i) + <span class="hljs-number">200
    t.<span class="hljs-keyword">goto(x, y)
t.fillcolor(<span class="hljs-string">"#f1add1")
t.end_fill()
<span class="hljs-number">16
t.pu()
t.<span class="hljs-keyword">goto(<span class="hljs-number">30, <span class="hljs-number">110)
t.pd()
t.pencolor(<span class="hljs-string">"#b1c9e9")
t.begin_fill()
<span class="hljs-keyword">for i in <span class="hljs-keyword">range(<span class="hljs-number">360):
    x = drawX(<span class="hljs-number">4, i) + <span class="hljs-number">30
    y = drawY(<span class="hljs-number">1, i) + <span class="hljs-number">110
    t.<span class="hljs-keyword">goto(x, y)
t.<span class="hljs-keyword">goto(<span class="hljs-number">34, <span class="hljs-number">160)
<span class="hljs-keyword">for i in <span class="hljs-keyword">range(<span class="hljs-number">540):
    x = drawX(<span class="hljs-number">4, i) + <span class="hljs-number">30
    y = drawY(<span class="hljs-number">1, i) + <span class="hljs-number">160
    t.<span class="hljs-keyword">goto(x, y)
t.<span class="hljs-keyword">goto(<span class="hljs-number">26, <span class="hljs-number">110)
t.fillcolor(<span class="hljs-string">"#b1c9e9")
t.end_fill()
t.pencolor(<span class="hljs-string">"white")
t.pensize(<span class="hljs-number">2)
<span class="hljs-keyword">for i in <span class="hljs-keyword">range(<span class="hljs-number">1, <span class="hljs-number">6):
    t.<span class="hljs-keyword">goto(<span class="hljs-number">34, <span class="hljs-number">110 + <span class="hljs-number">10 * i)
    t.pu()
    t.<span class="hljs-keyword">goto(<span class="hljs-number">26, <span class="hljs-number">110 + <span class="hljs-number">10 * i)
    t.pd()
t.pu()
t.<span class="hljs-keyword">goto(<span class="hljs-number">30, <span class="hljs-number">160)
t.pd()
t.<span class="hljs-keyword">goto(<span class="hljs-number">30, <span class="hljs-number">170)
t.pensize(<span class="hljs-number">1)
#
t.pu()
t.<span class="hljs-keyword">goto(<span class="hljs-number">34, <span class="hljs-number">180)
t.pd()
t.pencolor(<span class="hljs-string">"#f1add1")
t.begin_fill()
<span class="hljs-keyword">for i in <span class="hljs-keyword">range(<span class="hljs-number">360):
    x = drawX(<span class="hljs-number">4, i) + <span class="hljs-number">30
    y = drawY(<span class="hljs-number">10, i) + <span class="hljs-number">180
    t.<span class="hljs-keyword">goto(x, y)
t.fillcolor(<span class="hljs-string">"#f1add1")
t.end_fill()
<span class="hljs-number">17
t.pu()
t.<span class="hljs-keyword">goto(<span class="hljs-number">-30, <span class="hljs-number">110)
t.pd()
t.pencolor(<span class="hljs-string">"#b1c9e9")
t.begin_fill()
<span class="hljs-keyword">for i in <span class="hljs-keyword">range(<span class="hljs-number">360):
    x = drawX(<span class="hljs-number">4, i) - <span class="hljs-number">30
    y = drawY(<span class="hljs-number">1, i) + <span class="hljs-number">110
    t.<span class="hljs-keyword">goto(x, y)
t.<span class="hljs-keyword">goto(<span class="hljs-number">-26, <span class="hljs-number">160)
<span class="hljs-keyword">for i in <span class="hljs-keyword">range(<span class="hljs-number">540):
    x = drawX(<span class="hljs-number">4, i) - <span class="hljs-number">30
    y = drawY(<span class="hljs-number">1, i) + <span class="hljs-number">160
    t.<span class="hljs-keyword">goto(x, y)
t.<span class="hljs-keyword">goto(<span class="hljs-number">-34, <span class="hljs-number">110)
t.fillcolor(<span class="hljs-string">"#b1c9e9")
t.end_fill()
t.pencolor(<span class="hljs-string">"white")
t.pensize(<span class="hljs-number">2)
<span class="hljs-keyword">for i in <span class="hljs-keyword">range(<span class="hljs-number">1, <span class="hljs-number">6):
    t.<span class="hljs-keyword">goto(<span class="hljs-number">-26, <span class="hljs-number">110 + <span class="hljs-number">10 * i)
    t.pu()
    t.<span class="hljs-keyword">goto(<span class="hljs-number">-34, <span class="hljs-number">110 + <span class="hljs-number">10 * i)
    t.pd()
t.pu()
t.<span class="hljs-keyword">goto(</span><span class="hljs-number">-30, </span><span class="hljs-number">160)
t.pd()
t.</span><span class="hljs-keyword">goto(</span><span class="hljs-number">-30, </span><span class="hljs-number">170)
t.pensize(</span><span class="hljs-number">1)
#
t.pu()
t.</span><span class="hljs-keyword">goto(</span><span class="hljs-number">-26, </span><span class="hljs-number">180)
t.pd()
t.pencolor(</span><span class="hljs-string">"#f1add1")
t.begin_fill()
</span><span class="hljs-keyword">for i in </span><span class="hljs-keyword">range(</span><span class="hljs-number">360):
    x = drawX(</span><span class="hljs-number">4, i) - </span><span class="hljs-number">30
    y = drawY(</span><span class="hljs-number">10, i) + </span><span class="hljs-number">180
    t.</span><span class="hljs-keyword">goto(x, y)
t.fillcolor(</span><span class="hljs-string">"#f1add1")
t.end_fill()
###&#x968F;&#x673A;
color = [</span><span class="hljs-string">"#e28cb9", </span><span class="hljs-string">"#805a8c", </span><span class="hljs-string">"#eaa989", </span><span class="hljs-string">"#6e90b7", </span><span class="hljs-string">"#b8b68f", </span><span class="hljs-string">"#e174b5", </span><span class="hljs-string">"#cf737c", </span><span class="hljs-string">"#7c8782"]
</span><span class="hljs-keyword">for i in </span><span class="hljs-keyword">range(</span><span class="hljs-number">80):
    t.pu()
    x = r.randint(</span><span class="hljs-number">-120, </span><span class="hljs-number">120)
    y = r.randint(</span><span class="hljs-number">-25, </span><span class="hljs-number">30)
    t.</span><span class="hljs-keyword">goto(x, y)
    t.pd()
    t.dot(r.randint(</span><span class="hljs-number">2, </span><span class="hljs-number">5), color[r.randint(</span><span class="hljs-number">0, </span><span class="hljs-number">7)])
</span><span class="hljs-keyword">for i in </span><span class="hljs-keyword">range(</span><span class="hljs-number">40):
    t.pu()
    x = r.randint(</span><span class="hljs-number">-90, </span><span class="hljs-number">90)
    y = r.randint(</span><span class="hljs-number">-35, </span><span class="hljs-number">10)
    t.</span><span class="hljs-keyword">goto(x, y)
    t.pd()
    t.dot(r.randint(</span><span class="hljs-number">2, </span><span class="hljs-number">5), color[r.randint(</span><span class="hljs-number">0, </span><span class="hljs-number">7)])

</span><span class="hljs-keyword">for i in </span><span class="hljs-keyword">range(</span><span class="hljs-number">40):
    t.pu()
    x = r.randint(</span><span class="hljs-number">-80, </span><span class="hljs-number">80)
    y = r.randint(</span><span class="hljs-number">60, </span><span class="hljs-number">90)
    t.</span><span class="hljs-keyword">goto(x, y)
    t.pd()
    t.dot(r.randint(</span><span class="hljs-number">2, </span><span class="hljs-number">5), color[r.randint(</span><span class="hljs-number">0, </span><span class="hljs-number">7)])
</span><span class="hljs-keyword">for i in </span><span class="hljs-keyword">range(</span><span class="hljs-number">30):
    t.pu()
    x = r.randint(</span><span class="hljs-number">-50, </span><span class="hljs-number">50)
    y = r.randint(</span><span class="hljs-number">45, </span><span class="hljs-number">70)
    t.</span><span class="hljs-keyword">goto(x, y)
    t.pd()
    t.dot(r.randint(</span><span class="hljs-number">2, </span><span class="hljs-number">5), color[r.randint(</span><span class="hljs-number">0, </span><span class="hljs-number">7)])
</span><span class="hljs-keyword">for i in </span><span class="hljs-keyword">range(</span><span class="hljs-number">50):
    t.pu()
    x = r.randint(</span><span class="hljs-number">-500, </span><span class="hljs-number">500)
    y = r.randint(</span><span class="hljs-number">120, </span><span class="hljs-number">300)
    t.</span><span class="hljs-keyword">goto(x, y)
    t.pd()
    t.dot(r.randint(</span><span class="hljs-number">3, </span><span class="hljs-number">5), color[r.randint(</span><span class="hljs-number">0, </span><span class="hljs-number">7)])
t.seth(</span><span class="hljs-number">90)
t.pu()
t.</span><span class="hljs-keyword">goto(</span><span class="hljs-number">0, </span><span class="hljs-number">0)
t.fd(</span><span class="hljs-number">210)
t.left(</span><span class="hljs-number">90)
t.fd(</span><span class="hljs-number">170)
t.pd()
t.write(</span><span class="hljs-string">"Happy Birthday", font=(</span><span class="hljs-string">"Curlz MT", </span><span class="hljs-number">50))

t.color(</span><span class="hljs-string">'blue')
t.penup()
t.</span><span class="hljs-keyword">goto(</span><span class="hljs-number">-400, </span><span class="hljs-number">210)
t.pendown()
t.write(</span><span class="hljs-string">'&#x81F4;&#xFF1A;&#x597D;&#x53CB;&#x53CB;  ', font=(</span><span class="hljs-string">'&#x6977;&#x4F53;', </span><span class="hljs-number">32, </span><span class="hljs-string">'bold'))
t.color(</span><span class="hljs-string">'red')
t.penup()
t.</span><span class="hljs-keyword">goto(</span><span class="hljs-number">-300, </span><span class="hljs-number">50)
t.pendown()
t.write(</span><span class="hljs-string">'&#x795D; &#x4F60; &#x751F; &#x65E5; &#x5FEB; &#x4E50;&#xFF01;&#x524D; &#x7A0B; &#x4F3C; &#x9526;&#xFF01;', font=(</span><span class="hljs-string">'&#x6977;&#x4F53;', </span><span class="hljs-number">30, </span><span class="hljs-string">'bold'))
t.color(</span><span class="hljs-string">'blue')
t.penup()
t.</span><span class="hljs-keyword">goto(</span><span class="hljs-number">100, </span><span class="hljs-number">-220)
t.pendown()
t.write(</span><span class="hljs-string">'&#x2014;&#x2014;&#x2014;&#x2014;Python&#x4EE3;&#x7801;&#x5927;&#x5168;', font=(</span><span class="hljs-string">'&#x6977;&#x4F53;', </span><span class="hljs-number">20, </span><span class="hljs-string">'bold'))
t.done()</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span>

Original: https://www.cnblogs.com/sn5200/p/15948738.html
Author: Python可乐的呀
Title: 用Python画一个生日蛋糕并写上生日祝福对象及生日祝福语

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/509916/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球