Python绘制灯笼的示例代码

作者:阿黎逸阳 时间:2022-02-24 23:10:35 

一年一度的元宵节刚刚过去,由于时间关系,在元宵节当天晚上11点多才完成本文灯笼的绘制。这两天又在忙着别的事情,所以现在才跟大家分享。

一、效果展示

在介绍代码之前,先来看下本文的实现效果。

视频链接

二、代码展示

接下来展示绘制灯笼的全量源代码

import os
import pygame
import turtle as t

##画外轮廓
t.title('元宵节字谜灯笼')
t.setup(startx=0, starty = 0)
#画灯笼提线
t.penup()
t.goto(-50, 180)
t.pendown()
t.left(100)
t.pensize(2)
t.color('orangered')
t.circle(-15, 80)
t.right(140)
t.forward(20)
#画灯笼盖
t.penup()
t.goto(-57, 179)
t.pendown()
t.left(120)
t.pensize(1)
#t.pencolor('gold')
t.pencolor('#fedf08')
t.fillcolor('#fedf08')
#t.pencolor('orange')
t.begin_fill()
t.forward(14)
t.right(15)
t.forward(20)
t.right(165)
t.forward(52)
t.goto(-57, 179)
t.end_fill()
t.penup()
t.goto(-78, 174)
t.pendown()
t.left(135)
t.pencolor('#feb209')
t.fillcolor('#feb209')
t.begin_fill()
t.forward(5)
t.left(45)
t.forward(47)
t.goto(-22, 174)
t.end_fill()
#红色的柱子
t.penup()
t.goto(-70, 170)
t.pendown()
t.color('red')
t.begin_fill()
t.right(90)
t.forward(10)
t.left(90)
t.forward(40)
t.left(90)
t.forward(10)
t.end_fill()
def zz(x):
   t.penup()
   t.color('#feb209')
   t.pensize(1)
   t.begin_fill()
   t.goto(x, 160)
   t.forward(10)
   t.right(90)
   t.forward(3)
   t.right(90)
   t.forward(10)
   t.right(90)
   t.forward(3)
   t.end_fill()
   t.right(90)
zz(-64)  #第一根柱子
zz(-55)  #第二根柱子
zz(-45)  #第三根柱子
zz(-37)  #第四根柱子
#棕色的柱子
t.penup()
t.goto(-74, 160)
t.pendown()
t.color('#7f4e1e')
t.left(90)
t.begin_fill()
t.circle(2, 90)
t.forward(5)
t.left(90)
t.forward(52)
t.left(90)
t.forward(5)
t.circle(2, 90)
t.forward(50)
t.end_fill()

#灯笼外壳
t.penup()
t.goto(-76, 153)
t.pendown()
t.begin_fill()
t.color('orangered')
t.circle(30, 90)
t.forward(70)
t.circle(30,90)
t.forward(52)
t.circle(30, 90)
t.forward(70)
t.circle(30, 90)
t.end_fill()
#棕色的柱子
t.penup()
t.goto(-74, 23)
t.pendown()
t.color('#7f4e1e')
#t.left(90)
t.begin_fill()
t.circle(2, 90)
t.forward(5)
t.left(90)
t.forward(52)
t.left(90)
t.forward(5)
t.circle(2, 90)
t.forward(50)
t.end_fill()
#黄色的线
t.penup()
t.goto(-50, 15)
t.pendown()
t.left(90)
t.color('yellow')
t.pensize(1)
t.forward(25)
#玫红色的球
t.right(90)
t.color('red')
t.begin_fill()
t.circle(8, 360)
t.end_fill()
#画流苏
t.penup()
t.goto(-50, -26)
t.pendown()
t.begin_fill()
t.color('orangered')
t.circle(9, 90)
t.forward(80)
t.left(90)
t.forward(18)
t.left(90)
t.forward(80)
t.circle(9, 90)
t.end_fill()
#画流苏中黄色的圈
t.penup()
t.goto(-59, -42)
t.left(90)
t.pendown()
t.begin_fill()
t.color('#fedf08')
t.forward(10)
t.left(90)
t.forward(18)
t.left(90)
t.forward(10)
t.left(90)
t.forward(18)
t.end_fill()

#中文
t.hideturtle()
t.penup()
t.goto(-72, 120)
t.pendown()
t.pencolor('black')
#t.write('猜谜语', font=('Times New Roman', 12, 'normal'))
t.write('猜灯谜', font=('Comic Sans', 11, 'normal'))
t.penup()
t.goto(-87, 91)
t.pendown()
t.pencolor('black')
#t.write('猜谜语', font=('Times New Roman', 12, 'normal'))
t.write('云 盖 中 秋 月', font=('Times New Roman', 10, 'normal'))
t.penup()
t.goto(-87, 65)
t.pendown()
t.pencolor('black')
#t.write('猜谜语', font=('Times New Roman', 12, 'normal'))
t.write('雨 淋 元 宵 灯', font=('Times New Roman', 10, 'normal'))
t.penup()
t.goto(-84, 40)
t.pendown()
t.pencolor('black')
#t.write('猜谜语', font=('Times New Roman', 12, 'normal'))
t.write('(打 一 成 语)', font=('Times New Roman', 10, 'normal'))
t.delay(50)
def write_1():
   #元
   t.penup()
   t.goto(90, 150)
   t.pendown()
   t.pensize(8)
   t.pencolor('red')
   #t.write('猜谜语', font=('Times New Roman', 12, 'normal'))
   t.write('共', font=('Times New Roman', 18, 'normal'))
   #宵
   t.penup()
   t.goto(90, 120)
   t.pendown()
   t.pensize(8)
   t.pencolor('red')
   #t.write('猜谜语', font=('Times New Roman', 12, 'normal'))
   t.write('饮', font=('Times New Roman', 18, 'normal'))
   #节
   t.penup()
   t.goto(90, 90)
   t.pendown()
   t.pensize(8)
   t.pencolor('red')
   #t.write('猜谜语', font=('Times New Roman', 12, 'normal'))
   t.write('太', font=('Times New Roman', 18, 'normal'))
   #快
   t.penup()
   t.goto(90, 60)
   t.pendown()
   t.pensize(8)
   t.pencolor('red')
   #t.write('猜谜语', font=('Times New Roman', 12, 'normal'))
   t.write('平', font=('Times New Roman', 18, 'normal'))
   #乐
   t.penup()
   t.goto(90, 30)
   t.pendown()
   t.pensize(8)
   t.pencolor('red')
   #t.write('猜谜语', font=('Times New Roman', 12, 'normal'))
   t.write('酒', font=('Times New Roman', 18, 'normal'))
def write_2():
   #元
   t.penup()
   t.goto(150, 150)
   t.pendown()
   t.pensize(8)
   t.pencolor('red')
   #t.write('猜谜语', font=('Times New Roman', 12, 'normal'))
   t.write('同', font=('Times New Roman', 18, 'normal'))
   #宵
   t.penup()
   t.goto(150, 120)
   t.pendown()
   t.pensize(8)
   t.pencolor('red')
   #t.write('猜谜语', font=('Times New Roman', 12, 'normal'))
   t.write('猜', font=('Times New Roman', 18, 'normal'))
   #节
   t.penup()
   t.goto(150, 90)
   t.pendown()
   t.pensize(8)
   t.pencolor('red')
   #t.write('猜谜语', font=('Times New Roman', 12, 'normal'))
   t.write('元', font=('Times New Roman', 18, 'normal'))
   #快
   t.penup()
   t.goto(150, 60)
   t.pendown()
   t.pensize(8)
   t.pencolor('red')
   #t.write('猜谜语', font=('Times New Roman', 12, 'normal'))
   t.write('宵', font=('Times New Roman', 18, 'normal'))
   #乐
   t.penup()
   t.goto(150, 30)
   t.pendown()
   t.pensize(8)
   t.pencolor('red')
   #t.write('猜谜语', font=('Times New Roman', 12, 'normal'))
   t.write('谜', font=('Times New Roman', 18, 'normal'))
write_1()
write_1()
write_1()
write_2()
write_2()
write_2()
t.penup()
t.goto(-280, -200)
t.pendown()
t.pensize(8)
t.pencolor('red')
#t.write('猜谜语', font=('Times New Roman', 12, 'normal'))
t.write('Happy Lantern Festival !', font=('Times New Roman', 15, 'normal'))

三、拓展

下面将展示带有背景音乐的绘制灯笼的示例代码,有需要的可以参考一下

import os
import pygame
import turtle as t

#播放音乐
pygame.mixer.init()
pygame.mixer.music.load(r"F:\公众号\48.元宵节快乐\Sing, R. Sing! - おばちゃ!.mp3")
pygame.mixer.music.set_volume(0.5)
pygame.mixer.music.play()
##画外轮廓
t.title('元宵节字谜灯笼')
t.setup(startx=0, starty = 0)
#画灯笼提线
t.penup()
t.goto(-50, 180)
t.pendown()
t.left(100)
t.pensize(2)
t.color('orangered')
t.circle(-15, 80)
t.right(140)
t.forward(20)
#画灯笼盖
t.penup()
t.goto(-57, 179)
t.pendown()
t.left(120)
t.pensize(1)
#t.pencolor('gold')
t.pencolor('#fedf08')
t.fillcolor('#fedf08')
#t.pencolor('orange')
t.begin_fill()
t.forward(14)
t.right(15)
t.forward(20)
t.right(165)
t.forward(52)
t.goto(-57, 179)
t.end_fill()
t.penup()
t.goto(-78, 174)
t.pendown()
t.left(135)
t.pencolor('#feb209')
t.fillcolor('#feb209')
t.begin_fill()
t.forward(5)
t.left(45)
t.forward(47)
t.goto(-22, 174)
t.end_fill()
#红色的柱子
t.penup()
t.goto(-70, 170)
t.pendown()
t.color('red')
t.begin_fill()
t.right(90)
t.forward(10)
t.left(90)
t.forward(40)
t.left(90)
t.forward(10)
t.end_fill()
def zz(x):
   t.penup()
   t.color('#feb209')
   t.pensize(1)
   t.begin_fill()
   t.goto(x, 160)
   t.forward(10)
   t.right(90)
   t.forward(3)
   t.right(90)
   t.forward(10)
   t.right(90)
   t.forward(3)
   t.end_fill()
   t.right(90)
zz(-64)  #第一根柱子
zz(-55)  #第二根柱子
zz(-45)  #第三根柱子
zz(-37)  #第四根柱子
#棕色的柱子
t.penup()
t.goto(-74, 160)
t.pendown()
t.color('#7f4e1e')
t.left(90)
t.begin_fill()
t.circle(2, 90)
t.forward(5)
t.left(90)
t.forward(52)
t.left(90)
t.forward(5)
t.circle(2, 90)
t.forward(50)
t.end_fill()

#灯笼外壳
t.penup()
t.goto(-76, 153)
t.pendown()
t.begin_fill()
t.color('orangered')
t.circle(30, 90)
t.forward(70)
t.circle(30,90)
t.forward(52)
t.circle(30, 90)
t.forward(70)
t.circle(30, 90)
t.end_fill()
#棕色的柱子
t.penup()
t.goto(-74, 23)
t.pendown()
t.color('#7f4e1e')
#t.left(90)
t.begin_fill()
t.circle(2, 90)
t.forward(5)
t.left(90)
t.forward(52)
t.left(90)
t.forward(5)
t.circle(2, 90)
t.forward(50)
t.end_fill()
#黄色的线
t.penup()
t.goto(-50, 15)
t.pendown()
t.left(90)
t.color('yellow')
t.pensize(1)
t.forward(25)
#玫红色的球
t.right(90)
t.color('red')
t.begin_fill()
t.circle(8, 360)
t.end_fill()
#画流苏
t.penup()
t.goto(-50, -26)
t.pendown()
t.begin_fill()
t.color('orangered')
t.circle(9, 90)
t.forward(80)
t.left(90)
t.forward(18)
t.left(90)
t.forward(80)
t.circle(9, 90)
t.end_fill()
#画流苏中黄色的圈
t.penup()
t.goto(-59, -42)
t.left(90)
t.pendown()
t.begin_fill()
t.color('#fedf08')
t.forward(10)
t.left(90)
t.forward(18)
t.left(90)
t.forward(10)
t.left(90)
t.forward(18)
t.end_fill()

#中文
t.hideturtle()
t.penup()
t.goto(-72, 120)
t.pendown()
t.pencolor('black')
#t.write('猜谜语', font=('Times New Roman', 12, 'normal'))
t.write('猜灯谜', font=('Comic Sans', 11, 'normal'))
t.penup()
t.goto(-87, 91)
t.pendown()
t.pencolor('black')
#t.write('猜谜语', font=('Times New Roman', 12, 'normal'))
t.write('云 盖 中 秋 月', font=('Times New Roman', 10, 'normal'))
t.penup()
t.goto(-87, 65)
t.pendown()
t.pencolor('black')
#t.write('猜谜语', font=('Times New Roman', 12, 'normal'))
t.write('雨 淋 元 宵 灯', font=('Times New Roman', 10, 'normal'))
t.penup()
t.goto(-84, 40)
t.pendown()
t.pencolor('black')
#t.write('猜谜语', font=('Times New Roman', 12, 'normal'))
t.write('(打 一 成 语)', font=('Times New Roman', 10, 'normal'))
t.delay(50)
def write_1():
   #元
   t.penup()
   t.goto(90, 150)
   t.pendown()
   t.pensize(8)
   t.pencolor('red')
   #t.write('猜谜语', font=('Times New Roman', 12, 'normal'))
   t.write('共', font=('Times New Roman', 18, 'normal'))
   #宵
   t.penup()
   t.goto(90, 120)
   t.pendown()
   t.pensize(8)
   t.pencolor('red')
   #t.write('猜谜语', font=('Times New Roman', 12, 'normal'))
   t.write('饮', font=('Times New Roman', 18, 'normal'))
   #节
   t.penup()
   t.goto(90, 90)
   t.pendown()
   t.pensize(8)
   t.pencolor('red')
   #t.write('猜谜语', font=('Times New Roman', 12, 'normal'))
   t.write('太', font=('Times New Roman', 18, 'normal'))
   #快
   t.penup()
   t.goto(90, 60)
   t.pendown()
   t.pensize(8)
   t.pencolor('red')
   #t.write('猜谜语', font=('Times New Roman', 12, 'normal'))
   t.write('平', font=('Times New Roman', 18, 'normal'))
   #乐
   t.penup()
   t.goto(90, 30)
   t.pendown()
   t.pensize(8)
   t.pencolor('red')
   #t.write('猜谜语', font=('Times New Roman', 12, 'normal'))
   t.write('酒', font=('Times New Roman', 18, 'normal'))
def write_2():
   #元
   t.penup()
   t.goto(150, 150)
   t.pendown()
   t.pensize(8)
   t.pencolor('red')
   #t.write('猜谜语', font=('Times New Roman', 12, 'normal'))
   t.write('同', font=('Times New Roman', 18, 'normal'))
   #宵
   t.penup()
   t.goto(150, 120)
   t.pendown()
   t.pensize(8)
   t.pencolor('red')
   #t.write('猜谜语', font=('Times New Roman', 12, 'normal'))
   t.write('猜', font=('Times New Roman', 18, 'normal'))
   #节
   t.penup()
   t.goto(150, 90)
   t.pendown()
   t.pensize(8)
   t.pencolor('red')
   #t.write('猜谜语', font=('Times New Roman', 12, 'normal'))
   t.write('元', font=('Times New Roman', 18, 'normal'))
   #快
   t.penup()
   t.goto(150, 60)
   t.pendown()
   t.pensize(8)
   t.pencolor('red')
   #t.write('猜谜语', font=('Times New Roman', 12, 'normal'))
   t.write('宵', font=('Times New Roman', 18, 'normal'))
   #乐
   t.penup()
   t.goto(150, 30)
   t.pendown()
   t.pensize(8)
   t.pencolor('red')
   #t.write('猜谜语', font=('Times New Roman', 12, 'normal'))
   t.write('谜', font=('Times New Roman', 18, 'normal'))
write_1()
write_1()
write_1()
write_2()
write_2()
write_2()
t.penup()
t.goto(-280, -200)
t.pendown()
t.pensize(8)
t.pencolor('red')
#t.write('猜谜语', font=('Times New Roman', 12, 'normal'))
t.write('Happy Lantern Festival !', font=('Times New Roman', 15, 'normal'))

来源:https://blog.csdn.net/qq_32532663/article/details/122991441

标签:Python,灯笼
0
投稿

猜你喜欢

  • asp文章中随机插入网站版权文字的实现代码

    2011-04-15 11:11:00
  • PDO::rollBack讲解

    2023-07-23 06:52:34
  • 比较详细的Asp伪静态化方法及Asp静态化探讨

    2011-04-14 10:41:00
  • H1标签的定义

    2008-07-29 12:43:00
  • 浅谈Javascript中的事件流和事件绑定

    2009-07-20 17:13:00
  • iframe高度自适应,兼容IE,FF

    2008-06-18 12:15:00
  • python机器学习基础K近邻算法详解KNN

    2024-01-01 05:44:57
  • ExpiresAbsolute 属性

    2008-05-05 12:49:00
  • python读取并显示图片的三种方法(opencv、matplotlib、PIL库)

    2023-03-24 19:43:02
  • php 读取文件头判断文件类型的实现代码

    2023-11-15 09:50:06
  • Python进阶之协程详解

    2023-08-23 04:52:52
  • Keras官方中文文档:性能评估Metrices详解

    2023-07-15 00:27:40
  • asp如何读取Access数据库的表名?

    2009-11-18 20:48:00
  • 使用python开发vim插件及心得分享

    2023-11-22 11:30:32
  • Python tkinter实现桌面软件流程详解

    2022-03-26 09:51:32
  • 使用python实现数组、链表、队列、栈的方法

    2021-01-03 22:40:20
  • python opencv 简单阈值算法的实现

    2023-04-04 04:23:03
  • 关于php unset对json_encode的影响详解

    2023-07-06 08:33:52
  • SQL Server数据转换服务基本概念介绍

    2009-01-20 15:52:00
  • python 绘制国旗的示例

    2023-01-05 19:29:32
  • asp之家 网络编程 m.aspxhome.com