Python绘制灯笼的示例代码

 更新时间:2022年02月18日 09:53:29   作者:阿黎逸阳  
这篇文章主要为大家介绍了如何通过Python绘制一个灯笼,文中的示例代码讲解详细,对我们学习Python有一定帮助,感兴趣的小伙伴可以跟随小编学习一下

一年一度的元宵节刚刚过去,由于时间关系,在元宵节当天晚上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'))

以上就是Python绘制灯笼的示例代码的详细内容,更多关于Python绘制灯笼的资料请关注脚本之家其它相关文章!

相关文章

  • Python的进制转换和ASCLL转换你了解吗

    Python的进制转换和ASCLL转换你了解吗

    这篇文章主要为大家详细介绍了Python的进制转换和ASCLL转换,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助
    2022-02-02
  • Django上传excel表格并将数据写入数据库的详细步骤

    Django上传excel表格并将数据写入数据库的详细步骤

    这篇文章主要介绍了Django上传excel表格并将数据写入数据库,将文件上传到服务器指定路径,其实很简单,本文分三个步骤给大家详细介绍,需要的朋友可以参考下
    2022-06-06
  • Python爬虫Xpath定位数据的两种方法

    Python爬虫Xpath定位数据的两种方法

    这篇文章主要介绍了Python爬虫Xpath定位数据的方法,第一种方法直接右键,将文章路径复制下来点击Copy full Xpath,方法二使用@制定标签属性,搜索指定位置,每种方法给大家介绍的非常详细,需要的朋友可以参考下
    2022-07-07
  • python SocketServer源码深入解读

    python SocketServer源码深入解读

    这篇文章主要介绍了python SocketServer源码深入解读,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-09-09
  • 利用Python制作一个MOOC公开课下载器

    利用Python制作一个MOOC公开课下载器

    为了帮助大家更好地在假期内卷,本文将利用Python制作一个中国大学MOOC的公开课下载器。文中的示例代码讲解详细,感兴趣的小伙伴可以学习一下
    2022-03-03
  • Python xlwt设置excel单元格字体及格式

    Python xlwt设置excel单元格字体及格式

    这篇文章主要为大家详细介绍了Python xlwt设置excel单元格字体及格式的方法,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-12-12
  • python3之Splash的具体使用

    python3之Splash的具体使用

    Splash是一个javascript渲染服务。本文主要介绍了python3之Splash的具体使用,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-08-08
  • Python中使用matplotlib库绘制各种图

    Python中使用matplotlib库绘制各种图

    这篇文章主要介绍了Python中使用matplotlib库绘制各种图方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-08-08
  • python实现mysql的单引号字符串过滤方法

    python实现mysql的单引号字符串过滤方法

    这篇文章主要介绍了python实现mysql的单引号字符串过滤方法,以一个较为详细的实例形式分析了Python针对MySQL的操作及字符串过滤的技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-11-11
  • 使用python进行量化交易的完整指南

    使用python进行量化交易的完整指南

    量化交易,作为现代金融市场中的一种先进交易方式,通过运用数学模型、统计方法和计算机算法来指导交易决策,旨在提高交易效率和决策的准确性,本文将详细介绍如何使用Python进行量化交易,包括策略开发、数据处理、回测、风险管理和实盘交易等关键步骤
    2024-09-09

最新评论