0


python程序员的浪漫-千行生日祝福代码

python程序员的浪漫-千行生日祝福代码


📆Date:2022年12月16日修改
🎬
Author:小 y 同 学
📃
Classify:花里胡哨区
🔖
Language
: Python


🍀 花哨简介

    使用python的turtle库进行绘图,先是绘制“一只大熊”送上祝福,随后绘制三层蛋糕送上浪漫!近千行的生日祝福代码还不赶快去试试!

    小提示:python3的turtle库好像是自带的,不需要安装哦~


🌿 完整代码
# _*_coding:utf-8_*_# created by cy on 2022/12/16import turtle as t
import time
import math as m
import random as r

# 设置画布
t.setup(1.0,1.0)# todo 此处可以设置窗体的大小比例
t.bgcolor('white')# 设置背景色
t.title('生日快乐!')# 设置窗口的标题# todo 此处可以设置绘图速度
t.speed(2)# 速度
t.delay(2)# 延迟# t.tracer(False)  # 一次性出图,便于调试程序使用
t.shape('turtle')# 设置画笔形状# 称呼
t.penup()
t.goto(-500,250)
msg ='昵称'# todo 此处可以修改昵称for i in msg:
 t.color('green')
 t.write(i,True, align='left', font=('方正舒体',70,'normal'))
 time.sleep(0.3)# 大熊# 左耳
t.color('black')
t.penup()
t.goto(-150,200)
t.setheading(160)
t.begin_fill()
t.pendown()
t.circle(-30,230)
t.setheading(180)
t.circle(37,90)
t.end_fill()# 右耳
t.penup()
t.goto(60,200)
t.setheading(20)
t.begin_fill()
t.pendown()
t.circle(30,230)
t.setheading(0)
t.circle(-37,90)
t.end_fill()# 头
t.pensize(5)
t.penup()
t.goto(-113,237)
t.setheading(30)
t.pendown()
t.circle(-134,60)
t.penup()
t.goto(-150,200)
t.setheading(-120)
t.pendown()
t.circle(200,80)
t.penup()
t.goto(60,200)
t.setheading(-60)
t.pendown()
t.circle(-200,80)
t.penup()
t.setheading(210)
t.pendown()
t.circle(-120,60)# 左眼
t.speed(10)
t.delay(1)# 眼圈
t.penup()
t.goto(-140,100)
t.setheading(-45)
t.begin_fill()
t.pendown()
a =0.2for i inrange(120):if0<= i <30or60<= i <90:
     a = a +0.1
     t.lt(3)# 向左转3度
     t.fd(a)# 向前走a的步长else:
     a = a -0.1
     t.lt(3)
     t.fd(a)
t.end_fill()# 眼白
t.fillcolor("white")
t.penup()
t.goto(-103,125)
t.setheading(0)
t.begin_fill()
t.pendown()
t.circle(14,360)
t.end_fill()# 眼珠
t.penup()
t.goto(-102,133)
t.setheading(0)
t.begin_fill()
t.pendown()
t.circle(6,360)
t.end_fill()# 右眼# 眼圈
t.penup()
t.goto(50,100)
t.setheading(45)
t.fillcolor("black")
t.pencolor("black")
t.begin_fill()
t.pendown()
a =0.2for i inrange(120):if0<= i <30or60<= i <90:
     a = a +0.1
     t.lt(3)# 向左转3度
     t.fd(a)# 向前走a的步长else:
     a = a -0.1
     t.lt(3)
     t.fd(a)
t.end_fill()# 眼白
t.fillcolor("white")
t.penup()
t.goto(13,125)
t.setheading(0)
t.begin_fill()
t.pendown()
t.circle(14,360)
t.end_fill()# 眼珠
t.penup()
t.goto(12,133)
t.setheading(0)
t.begin_fill()
t.pendown()
t.circle(6,360)
t.end_fill()# 鼻子
t.speed(2)
t.delay(2)
t.pencolor("black")
t.fillcolor("black")
t.penup()
t.goto(-55,133)
t.begin_fill()
t.pendown()
t.fd(20)
t.seth(-120)
t.fd(20)
t.seth(120)
t.fd(20)
t.end_fill()# 嘴
t.penup()
t.goto(-70,110)
t.setheading(-30)
t.fillcolor("red")
t.begin_fill()
t.pendown()
t.circle(50,60)
t.setheading(-120)
t.circle(-100,15)
t.circle(-15,90)
t.circle(-100,15)
t.end_fill()# 四肢# 左臂
t.penup()
t.goto(-175,100)
t.fillcolor("black")
t.begin_fill()
t.setheading(-120)
t.pendown()
t.fd(100)
t.setheading(-110)
t.circle(20,180)
t.fd(30)
t.circle(-5,160)
t.end_fill()# 右臂
t.penup()
t.goto(85,100)
t.setheading(60)
t.begin_fill()
t.pendown()
t.fd(100)
t.setheading(70)
t.circle(20,180)
t.fd(30)
t.circle(-5,160)
t.end_fill()# 小红心
t.penup()
t.pencolor("red")
t.fillcolor('red')
t.goto(105,200)
t.begin_fill()
t.pendown()
t.circle(-5,180)
t.setheading(90)
t.circle(-5,180)
t.setheading(-120)
t.fd(17)
t.penup()
t.goto(105,200)
t.pendown()
t.setheading(-60)
t.fd(17)
t.end_fill()
t.pencolor("black")
t.fillcolor("black")# 左腿
t.penup()
t.goto(-120,-45)
t.begin_fill()
t.pendown()
t.setheading(-90)
t.circle(-140,20)
t.circle(5,109)
t.fd(30)
t.circle(10,120)
t.setheading(90)
t.circle(-140,10)
t.end_fill()# 右腿
t.penup()
t.goto(30,-45)
t.begin_fill()
t.pendown()
t.setheading(-90)
t.circle(140,20)
t.circle(-5,109)
t.fd(30)
t.circle(-10,120)
t.setheading(90)
t.circle(140,10)
t.end_fill()# 冰糖外壳
t.pensize(3)
t.penup()
t.goto(-160,195)
t.setheading(160)
t.pendown()
t.circle(-40,230)
t.setheading(30)
t.circle(-134,58)
t.setheading(60)
t.circle(-40,215)
t.setheading(-60)
t.fd(15)
t.circle(2,200)
t.setheading(65)
t.fd(30)
t.circle(-25,180)
t.fd(100)
t.circle(2,25)
t.circle(-200,47)
t.circle(2,60)
t.circle(140,23)
t.circle(-2,90)
t.setheading(180)
t.fd(70)
t.circle(-2,90)
t.fd(30)
t.setheading(-160)
t.circle(-100,35)
t.setheading(-90)
t.fd(30)
t.circle(-2,90)
t.fd(70)
t.circle(-2,90)
t.setheading(60)
t.circle(140,30)
t.circle(2,45)
t.circle(-200,19)
t.circle(2,130)
t.fd(30)
t.circle(-25,180)
t.fd(100)
t.setheading(90)
t.circle(-200,30)# 冰糖面罩
t.speed(1)
t.delay(0)
t.pensize(3)
t.penup()
t.goto(65,120)
t.setheading(90)
t.pendown()
t.pencolor("red")
a =1for i inrange(120):if0<= i <30or60<= i <90:# 控制a的变化
     a = a +0.25
     t.lt(3)# 向左转3度
     t.fd(a)# 向前走a的步长else:
     a = a -0.25
     t.lt(3)
     t.fd(a)
t.pencolor("orange")
t.penup()
t.goto(66,120)
t.pendown()
a =1for i inrange(120):if0<= i <30or60<= i <90:
     a = a +0.255
     t.lt(3)
     t.fd(a)else:
     a = a -0.255
     t.lt(3)
     t.fd(a)
t.pencolor("green")
t.penup()
t.goto(67,120)
t.pendown()
a =1for i inrange(120):if0<= i <30or60<= i <90:
     a = a +0.2555
     t.lt(3)
     t.fd(a)else:
     a = a -0.2555
     t.lt(3)
     t.fd(a)
t.pencolor("deep sky blue")
t.penup()
t.goto(68,120)
t.pendown()
a =1for i inrange(120):if0<= i <30or60<= i <90:
     a = a +0.25955
     t.lt(3)
     t.fd(a)else:
     a = a -0.25955
     t.lt(3)
     t.fd(a)
t.pencolor("pink")
t.penup()
t.goto(71,120)
t.pendown()
a =1for i inrange(120):if0<= i <30or60<= i <90:
     a = a +0.26
     t.lt(3)
     t.fd(a)else:
     a = a -0.26
     t.lt(3)
     t.fd(a)
t.pencolor("purple")
t.penup()
t.goto(72,120)
t.pendown()
a =1for i inrange(120):if0<= i <30or60<= i <90:
     a = a +0.269
     t.lt(3)
     t.fd(a)else:
     a = a -0.269
     t.lt(3)
     t.fd(a)# 五环
t.penup()
t.goto(-55,-10)
t.pendown()
t.pencolor("blue")
t.circle(10)
t.penup()
t.goto(-40,-10)
t.pendown()
t.pencolor("black")
t.circle(10)
t.penup()
t.goto(-25,-10)
t.pendown()
t.pencolor("red")
t.circle(10)
t.penup()
t.goto(-50,-20)
t.pendown()
t.pencolor("yellow")
t.circle(10)
t.penup()
t.goto(-30,-20)
t.pendown()
t.pencolor("green")
t.circle(10)# HappyBirthday
t.speed(2)
t.delay(2)defmove(angle, length):
 t.penup()
 t.seth(angle)
 t.fd(length)# prepare
t.penup()
t.fd(-180)
t.seth(90)# 画笔方向# t.fd(50)
t.pendown()
t.pensize(10)
t.pencolor("green")
t.seth(0)
t.hideturtle()
t.speed(5)# 呀
t.fd(100)# 生
t.pencolor("green")
t.circle(50,90)
t.circle(50,-30)
t.seth(0)
t.fd(100)
t.fd(-50)
t.left(90)
t.fd(30)
t.fd(-60)
t.left(90)
t.fd(50)
t.fd(-100)
t.fd(50)
t.left(90)
t.fd(50)
t.right(90)
t.fd(60)
t.fd(-120)# 日
t.penup()
t.fd(-30)
t.pendown()
t.seth(90)
t.fd(100)
t.seth(0)
t.fd(70)
t.seth(-90)
t.fd(50)
t.seth(180)
t.fd(70)
t.seth(-90)
t.fd(50)
t.seth(0)
t.fd(70)
t.seth(90)
t.fd(50)# 移动
move(0,30)# 快
t.pensize(8)
t.circle(30,15)
t.pendown()
t.circle(30,60)
t.penup()
t.seth(0)
t.fd(13)
t.seth(90)
t.pendown()
t.fd(40)
t.fd(-50)
t.penup()
t.seth(0)
t.fd(13)
t.pendown()
t.seth(-180)
t.circle(20,-90)
t.circle(20,90)
t.penup()
t.fd(13)
t.pendown()
t.seth(-90)
t.fd(60)
move(0,40)
move(90,80)
t.pendown()
t.seth(0)
t.fd(30)
t.seth(90)
t.fd(30)
t.fd(-30)
t.seth(0)
t.fd(20)
t.seth(-90)
t.fd(35)
t.seth(0)
t.fd(10)
t.fd(-30)
t.seth(90)
t.fd(35)
t.fd(-35)
t.seth(0)
t.fd(-25)
move(-90,50)
move(180,25)
t.pendown()
t.seth(0)
t.penup()
t.circle(50,20)
t.pendown()
t.circle(50,70)
t.seth(-90)
t.circle(50,60)# 移动
move(0,50)
move(90,45)# 乐
t.pensize(10)
t.pendown()
t.fd(40)
t.seth(0)
t.circle(50,60)
t.circle(50,-25)
move(-90,15)
t.pendown()
t.fd(30)
t.seth(0)
t.fd(-25)
t.fd(65)
t.fd(-40)
t.seth(-90)
t.fd(60)
t.seth(135)
t.fd(20)
move(135,10)
t.pendown()
t.seth(-135)
t.fd(20)
move(0,70)
t.pendown()
t.seth(135)
t.fd(20)# 署名
t.penup()
t.goto(450,-350)
msg ='—小 y'# todo 此处可以修改你的署名for i in msg:
 t.color('green')
 t.write(i,True, align='left', font=('JetBrains Moon',45,'normal'))
 time.sleep(0.3)
t.clear()# 清屏
time.sleep(3)# 让程序休眠3秒,休息3秒后开始绘制生日蛋糕# 开始绘制生日蛋糕
t.speed(2)
t.delay(0)defdrawx(a, i):
 angle = m.radians(i)return a * m.cos(angle)defdrawy(b, i):
 angle = m.radians(i)return b * m.sin(angle)# 设置背景颜色,窗口位置以及大小
t.bgcolor("#d3dae8")
t.speed(10)
t.pensize(1)
t.penup()
t.goto(150,0)
t.pendown()# 1
t.pencolor("white")
t.begin_fill()for i inrange(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 inrange(180):
 x = drawx(150,-i)
 y = drawy(70,-i)
 t.goto(x, y)for i inrange(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 inrange(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 inrange(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 inrange(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 inrange(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 inrange(180):
 x = drawx(120,-i)
 y = drawy(48,-i)+10
 t.goto(x, y)
t.goto(-120,0)for i inrange(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 inrange(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 inrange(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 inrange(180):
 x = drawx(80, i)
 y = drawy(32, i)+120
 t.goto(x, y)
t.goto(-80,70)for i inrange(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 inrange(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 inrange(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 inrange(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 inrange(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 inrange(360):
 x = drawx(4, i)+60
 y = drawy(1, i)+120
 t.goto(x, y)
t.goto(64,170)for i inrange(540):
 x = drawx(4, i)+60
 y = drawy(1, i)+170
 t.goto(x, y)
t.goto(56,120)
t.fillcolor("#b1c9e9")
t.end_fill()
t.pencolor("white")
t.pensize(2)for i inrange(1,6):
 t.goto(64,120+10* i)
 t.pu()
 t.goto(56,120+10* i)
 t.pd()
t.pu()
t.goto(60,170)
t.pd()
t.goto(60,180)
t.pensize(1)#
t.pu()
t.goto(64,190)
t.pd()
t.pencolor("#f1add1")
t.begin_fill()for i inrange(360):
 x = drawx(4, i)+60
 y = drawy(10, i)+190
 t.goto(x, y)
t.fillcolor("#f1add1")
t.end_fill()# 14
t.pu()
t.goto(-56,120)
t.pd()
t.pencolor("#b1c9e9")
t.begin_fill()for i inrange(360):
 x = drawx(4, i)-60
 y = drawy(1, i)+120
 t.goto(x, y)
t.goto(-56,170)for i inrange(540):
 x = drawx(4, i)-60
 y = drawy(1, i)+170
 t.goto(x, y)
t.goto(-64,120)
t.fillcolor("#b1c9e9")
t.end_fill()
t.pencolor("white")
t.pensize(2)for i inrange(1,6):
 t.goto(-56,120+10* i)
 t.pu()
 t.goto(-64,120+10* i)
 t.pd()
t.pu()
t.goto(-60,170)
t.pd()
t.goto(-60,180)
t.pensize(1)#
t.pu()
t.goto(-56,190)
t.pd()
t.pencolor("#f1add1")
t.begin_fill()for i inrange(360):
 x = drawx(4, i)-60
 y = drawy(10, i)+190
 t.goto(x, y)
t.fillcolor("#f1add1")
t.end_fill()# 15
t.pu()
t.goto(0,130)
t.pd()
t.pencolor("#b1c9e9")
t.begin_fill()for i inrange(360):
 x = drawx(4, i)
 y = drawy(1, i)+130
 t.goto(x, y)
t.goto(4,180)for i inrange(540):
 x = drawx(4, i)
 y = drawy(1, i)+180
 t.goto(x, y)
t.goto(-4,130)
t.fillcolor("#b1c9e9")
t.end_fill()
t.pencolor("white")
t.pensize(2)for i inrange(1,6):
 t.goto(4,130+10* i)
 t.pu()
 t.goto(-4,130+10* i)
 t.pd()
t.pu()
t.goto(0,180)
t.pd()
t.goto(0,190)
t.pensize(1)#
t.pu()
t.goto(4,200)
t.pd()
t.pencolor("#f1add1")
t.begin_fill()for i inrange(360):
 x = drawx(4, i)
 y = drawy(10, i)+200
 t.goto(x, y)
t.fillcolor("#f1add1")
t.end_fill()# 16
t.pu()
t.goto(30,110)
t.pd()
t.pencolor("#b1c9e9")
t.begin_fill()for i inrange(360):
 x = drawx(4, i)+30
 y = drawy(1, i)+110
 t.goto(x, y)
t.goto(34,160)for i inrange(540):
 x = drawx(4, i)+30
 y = drawy(1, i)+160
 t.goto(x, y)
t.goto(26,110)
t.fillcolor("#b1c9e9")
t.end_fill()
t.pencolor("white")
t.pensize(2)for i inrange(1,6):
 t.goto(34,110+10* i)
 t.pu()
 t.goto(26,110+10* i)
 t.pd()
t.pu()
t.goto(30,160)
t.pd()
t.goto(30,170)
t.pensize(1)#
t.pu()
t.goto(34,180)
t.pd()
t.pencolor("#f1add1")
t.begin_fill()for i inrange(360):
 x = drawx(4, i)+30
 y = drawy(10, i)+180
 t.goto(x, y)
t.fillcolor("#f1add1")
t.end_fill()# 17
t.pu()
t.goto(-30,110)
t.pd()
t.pencolor("#b1c9e9")
t.begin_fill()for i inrange(360):
 x = drawx(4, i)-30
 y = drawy(1, i)+110
 t.goto(x, y)
t.goto(-26,160)for i inrange(540):
 x = drawx(4, i)-30
 y = drawy(1, i)+160
 t.goto(x, y)
t.goto(-34,110)
t.fillcolor("#b1c9e9")
t.end_fill()
t.pencolor("white")
t.pensize(2)for i inrange(1,6):
 t.goto(-26,110+10* i)
 t.pu()
 t.goto(-34,110+10* i)
 t.pd()
t.pu()
t.goto(-30,160)
t.pd()
t.goto(-30,170)
t.pensize(1)#
t.pu()
t.goto(-26,180)
t.pd()
t.pencolor("#f1add1")
t.begin_fill()for i inrange(360):
 x = drawx(4, i)-30
 y = drawy(10, i)+180
 t.goto(x, y)
t.fillcolor("#f1add1")
t.end_fill()# 随机
color =["#e28cb9","#805a8c","#eaa989","#6e90b7","#b8b68f","#e174b5","#cf737c","#7c8782"]for i inrange(80):
 t.pu()
 x = r.randint(-120,120)
 y = r.randint(-25,30)
 t.goto(x, y)
 t.pd()
 t.dot(r.randint(2,5), color[r.randint(0,7)])for i inrange(40):
 t.pu()
 x = r.randint(-90,90)
 y = r.randint(-35,10)
 t.goto(x, y)
 t.pd()
 t.dot(r.randint(2,5), color[r.randint(0,7)])for i inrange(40):
 t.pu()
 x = r.randint(-80,80)
 y = r.randint(60,90)
 t.goto(x, y)
 t.pd()
 t.dot(r.randint(2,5), color[r.randint(0,7)])for i inrange(30):
 t.pu()
 x = r.randint(-50,50)
 y = r.randint(45,70)
 t.goto(x, y)
 t.pd()
 t.dot(r.randint(2,5), color[r.randint(0,7)])for i inrange(50):
 t.pu()
 x = r.randint(-500,500)
 y = r.randint(120,300)
 t.goto(x, y)
 t.pd()
 t.dot(r.randint(3,5), color[r.randint(0,7)])
t.seth(90)
t.pu()
t.goto(0,0)
t.fd(210)
t.left(90)
t.fd(170)
t.pd()
t.write("Happy Birthday", font=("Curlz MT",50))# todo 此处可以修改画完蛋糕以后显示的文字
t.done()

🌸 写到最后

    整个代码复制粘贴后,小y觉得需要修改的位置均用

# todo

标出,使用前莫忘修改哦!另外本代码可以使用Pyinstaller命令进行打包(变为exe可执行文件)。

    赶快去给你的男朋友or女朋友安排上吧!同时小y也为你们送上真挚的祝福哦!


📧 Summary

花哨代码并不实用,但它可以为编程学习增加浓厚兴趣!

欢迎点赞👍+收藏🎁+关注❤ 

有兴趣一起学习编程的小伙伴可以私信小y一起学习,小y在Python,c/c++和matlab语言上均有一定的基础😜😜😜


本文转载自: https://blog.csdn.net/weixin_64989228/article/details/128346528
版权归原作者 小 y 同 学 所有, 如有侵权,请联系我们删除。

“python程序员的浪漫-千行生日祝福代码”的评论:

还没有评论