Python繪制燈籠的示例代碼
更新時間:2022年02月18日 09:53:29 作者:阿黎逸陽
這篇文章主要為大家介紹了如何通過Python繪制一個燈籠,文中的示例代碼講解詳細,對我們學習Python有一定幫助,感興趣的小伙伴可以跟隨小編學習一下
一年一度的元宵節(jié)剛剛過去,由于時間關系,在元宵節(jié)當天晚上11點多才完成本文燈籠的繪制。這兩天又在忙著別的事情,所以現(xiàn)在才跟大家分享。
一、效果展示
在介紹代碼之前,先來看下本文的實現(xiàn)效果。
二、代碼展示
接下來展示繪制燈籠的全量源代碼
import os
import pygame
import turtle as t
##畫外輪廓
t.title('元宵節(jié)字謎燈籠')
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'))
#節(jié)
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'))
#節(jié)
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.元宵節(jié)快樂\Sing, R. Sing! - おばちゃ!.mp3")
pygame.mixer.music.set_volume(0.5)
pygame.mixer.music.play()
##畫外輪廓
t.title('元宵節(jié)字謎燈籠')
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'))
#節(jié)
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'))
#節(jié)
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繪制燈籠的示例代碼的詳細內(nèi)容,更多關于Python繪制燈籠的資料請關注腳本之家其它相關文章!
相關文章
PyQt5實現(xiàn)QLineEdit添加clicked信號的方法
今天小編就為大家分享一篇PyQt5實現(xiàn)QLineEdit添加clicked信號的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-06-06
使用IPython下的Net-SNMP來管理類UNIX系統(tǒng)的教程
這篇文章主要介紹了使用IPython下的Net-SNMP來管理類UNIX系統(tǒng)的教程,本文來自于IBM官方網(wǎng)站技術文檔,需要的朋友可以參考下2015-04-04
使用jupyter notebook將文件保存為Markdown,HTML等文件格式
這篇文章主要介紹了使用jupyter notebook將文件保存為Markdown,HTML等文件格式,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-04-04

