Python打造虎年祝福神器的示例代碼
背景故事
2022虎年將至,值此新春佳節(jié)之際,各大社區(qū)更是你爭(zhēng)我趕紛紛發(fā)起春節(jié)征文活動(dòng)正當(dāng)我一籌莫展之際,幾位粉絲朋友們的小請(qǐng)求點(diǎn)醒了我:


對(duì)呀,我何不用Python畫(huà)一個(gè)老虎出來(lái)呢,加之增添幾個(gè)功能,打造成一款虎年祝福神器!我瞬間靈感爆發(fā),話不多說(shuō),先看成品:
首先是剛打開(kāi)時(shí)的倒數(shù)界面,神秘感十足:

倒數(shù)結(jié)束后,來(lái)到我們的展示環(huán)節(jié):

最后,是我們的成果,一直可愛(ài)的小老虎以及滿屏的彈窗祝福:

制作過(guò)程
一、Python Turtle模塊畫(huà)小老虎
在這里,我們使用了Python中的一個(gè)非常好玩的庫(kù):Turtle,也就是我們常說(shuō)的海龜畫(huà)圖!不懂的同學(xué)可以自行參考學(xué)習(xí)這篇文章,在這里不做過(guò)多的講解:海龜畫(huà)圖全解–值得你一看!
1. 定義庫(kù)以及初始化界面
def laohu():
import turtle as t
# 設(shè)置幕布大小及顏色
t.screensize(50, 50, bg='yellow')
t.title("老虎寶寶")
t.shape("classic")
t.pensize(10)
t.color("orange")
t.fillcolor("pink")
t.speed(100)
t.hideturtle()
2. 畫(huà)出左右兩只耳朵
# 左耳
t.penup()
t.goto(-105, 97)
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(105, 97)
t.setheading(20)
t.begin_fill()
t.pendown()
t.circle(30, 230)
t.setheading(0)
t.circle(-37, 90)
t.end_fill()
3. 畫(huà)出小老虎頭部輪廓
# 頭部輪廓 ? ? t.penup() ? ? t.goto(-67, 140) ? ? t.setheading(30) ? ? t.pendown() ? ? t.circle(-134, 60) ? ? t.penup() ? ? t.goto(-50, -25) ? ? t.setheading(180) ? ? t.pendown() ? ? t.circle(-100, 30) ? ? t.circle(-30, 90) ? ? t.setheading(100) ? ? t.circle(-200, 20) ? ? t.penup() ? ? t.goto(50, -25) ? ? t.setheading(0) ? ? t.pendown() ? ? t.circle(100, 30) ? ? t.circle(30, 90) ? ? t.setheading(80) ? ? t.circle(200, 20)
4. 畫(huà)出老虎的兩只眼睛
?# 兩虎眼
? ? # 左眼
? ? t.penup()
? ? t.goto(-90, 25)
? ? t.setheading(-45)
? ? t.fillcolor("orange")
? ? t.begin_fill()
? ? t.pendown()
? ? # 橢圓繪制技巧
? ? a = 0.2
? ? for i in range(120):
? ? ? ? if 0 <= i < 30 or 60 <= i < 90:
? ? ? ? ? ? a = a + 0.1
? ? ? ? ? ? t.lt(3) ?# 向左轉(zhuǎn)3度
? ? ? ? ? ? t.fd(a) ?# 向前走a的步長(zhǎng)
? ? ? ? else:
? ? ? ? ? ? a = a - 0.1
? ? ? ? ? ? t.lt(3)
? ? ? ? ? ? t.fd(a)
? ? t.end_fill()
? ? t.fillcolor("pink")
? ? t.penup()
? ? t.goto(-53, 43)
? ? t.setheading(0)
? ? t.begin_fill()
? ? t.pendown()
? ? t.circle(19, 360)
? ? t.end_fill()
? ? t.penup()
? ? t.pensize(4)
? ? t.goto(-60, 57)
? ? t.setheading(30)
? ? t.pendown()
? ? t.circle(-12, 60)
? ? # 右眼
? ? t.penup()
? ? t.goto(90, 25)
? ? t.setheading(45)
? ? t.pensize(2)
? ? t.fillcolor("orange")
? ? t.begin_fill()
? ? t.pendown()
? ? # 橢圓繪制技巧
? ? a = 0.2
? ? for i in range(120):
? ? ? ? if 0 <= i < 30 or 60 <= i < 90:
? ? ? ? ? ? a = a + 0.1
? ? ? ? ? ? t.lt(3) ?# 向左轉(zhuǎn)3度
? ? ? ? ? ? t.fd(a) ?# 向前走a的步長(zhǎng)
? ? ? ? else:
? ? ? ? ? ? a = a - 0.1
? ? ? ? ? ? t.lt(3)
? ? ? ? ? ? t.fd(a)
? ? t.end_fill()
? ? t.fillcolor("pink")
? ? t.penup()
? ? t.goto(53, 43)
? ? t.setheading(0)
? ? t.begin_fill()
? ? t.pendown()
? ? t.circle(13, 360)
? ? t.end_fill()
? ? t.penup()
? ? t.pensize(4)
? ? t.goto(60, 57)
? ? t.setheading(150)
? ? t.pendown()
? ? t.circle(12, 60)5. 畫(huà)出老虎的鼻子和嘴巴
# 鼻子和嘴吧
? ? t.penup()
? ? t.goto(-16, 20)
? ? t.setheading(-90)
? ? t.fillcolor("pink")
? ? t.begin_fill()
? ? t.pendown()
? ? a = 0.2
? ? for i in range(120):
? ? ? ? if 0 <= i < 30 or 60 <= i < 90:
? ? ? ? ? ? a = a + 0.03
? ? ? ? ? ? t.lt(3)
? ? ? ? ? ? t.fd(a)
? ? ? ? else:
? ? ? ? ? ? a = a - 0.03
? ? ? ? ? ? t.lt(3)
? ? ? ? ? ? t.fd(a)
? ? t.end_fill()
? ? t.penup()
? ? t.goto(-24, 0)
? ? t.setheading(-60)
? ? t.pendown()
? ? t.circle(28, 120)6. 畫(huà)出小老虎的左右肢體和腳趾
?# 小老虎肢體
? ? # 左肢
? ? t.color("orange")
? ? t.penup()
? ? t.goto(-65, -24)
? ? t.setheading(-140)
? ? t.begin_fill()
? ? t.pendown()
? ? t.circle(100, 40)
? ? t.setheading(180)
? ? t.circle(30, 40)
? ? t.setheading(-40)
? ? t.circle(40, 40)
? ? t.setheading(-150)
? ? a = 0.5
? ? for i in range(120):
? ? ? ? if 0 <= i < 30 or 60 <= i < 90:
? ? ? ? ? ? a = a + 0.05
? ? ? ? ? ? t.lt(3) ?# 向左轉(zhuǎn)3度
? ? ? ? ? ? t.fd(a) ?# 向前走a的步長(zhǎng)
? ? ? ? elif 30 <= i < 60 or 90 <= i < 100:
? ? ? ? ? ? a = a - 0.05
? ? ? ? ? ? t.lt(3)
? ? ? ? ? ? t.fd(a)
? ? t.setheading(93)
? ? t.circle(-150, 30)
? ? t.end_fill()
? ? t.penup()
? ? t.goto(-85, -115)
? ? t.setheading(-150)
? ? t.color("pink", "pink")
? ? t.begin_fill()
? ? t.pendown()
? ? a = 0.3
? ? for i in range(120):
? ? ? ? if 0 <= i < 30 or 60 <= i < 90:
? ? ? ? ? ? a = a + 0.03
? ? ? ? ? ? t.lt(3) ?# 向左轉(zhuǎn)3度
? ? ? ? ? ? t.fd(a) ?# 向前走a的步長(zhǎng)
? ? ? ? else:
? ? ? ? ? ? a = a - 0.03
? ? ? ? ? ? t.lt(3)
? ? ? ? ? ? t.fd(a)
? ? t.end_fill()
? ? # 每個(gè)腳趾繪制函數(shù)
? ? def toe(x, y):
? ? ? ? t.begin_fill()
? ? ? ? t.goto(x, y)
? ? ? ? t.circle(3, 360)
? ? ? ? t.end_fill()
? ? t.penup()
? ? toe(-98, -120)
? ? toe(-96, -110)
? ? toe(-88, -105)
? ? toe(-80, -105)
? ? # 右肢
? ? t.color("orange")
? ? t.penup()
? ? t.goto(65, -24)
? ? t.setheading(-40)
? ? t.begin_fill()
? ? t.pendown()
? ? t.circle(-100, 40)
? ? t.setheading(0)
? ? t.circle(-30, 40)
? ? t.setheading(-140)
? ? t.circle(-40, 40)
? ? t.setheading(-30)
? ? a = 0.5
? ? for i in range(120):
? ? ? ? if 0 <= i < 30 or 60 <= i < 90:
? ? ? ? ? ? a = a + 0.05
? ? ? ? ? ? t.rt(3) ?# 向左轉(zhuǎn)3度
? ? ? ? ? ? t.fd(a) ?# 向前走a的步長(zhǎng)
? ? ? ? elif 30 <= i < 60 or 90 <= i < 100:
? ? ? ? ? ? a = a - 0.05
? ? ? ? ? ? t.rt(3)
? ? ? ? ? ? t.fd(a)
? ? t.setheading(87)
? ? t.circle(150, 30)
? ? t.end_fill()
? ? t.penup()
? ? t.goto(85, -115)
? ? t.setheading(150)
? ? t.color("pink", "pink")
? ? t.begin_fill()
? ? t.pendown()
? ? a = 0.3
? ? for i in range(120):
? ? ? ? if 0 <= i < 30 or 60 <= i < 90:
? ? ? ? ? ? a = a + 0.03
? ? ? ? ? ? t.lt(3) ?# 向左轉(zhuǎn)3度
? ? ? ? ? ? t.fd(a) ?# 向前走a的步長(zhǎng)
? ? ? ? else:
? ? ? ? ? ? a = a - 0.03
? ? ? ? ? ? t.lt(3)
? ? ? ? ? ? t.fd(a)
? ? t.end_fill()
? ? t.penup()
? ? toe(98, -120)
? ? toe(96, -110)
? ? toe(88, -105)
? ? toe(80, -105)7. 在需要的位置寫(xiě)上我們的新年祝福
t.goto(-57, -140)
? ? t.color("orange")
? ? t.setheading(-20)
? ? t.pendown()
? ? t.circle(165, 40)
? ? t.penup()
? ? t.goto(0, 180)
? ? t.write("祝大家虎年快樂(lè),虎虎生威!",
? ? ? ? ? ? align="center", font=("Times", 28, "bold"))
? ? t.color("black")
? ? t.penup()
? ? t.goto(0, 80)
? ? t.write("王",
? ? ? ? ? ? align="center", font=("Times", 38, "bold"))
? ? t.penup()
? ? t.goto(0, -5)
? ? t.write("一 ? ? ? ? ? ? ? ? ? 一",
? ? ? ? ? ? align="center", font=("Times", 18, "bold"))
? ? t.goto(0, -15)
? ? t.write("一 ? ? ? ? ? ? ? ? ? 一",
? ? ? ? ? ? align="center", font=("Times", 18, "bold"))
? ? t.goto(0, -25)
? ? t.write("一 ? ? ? ? ? ? ? ? ? 一",
? ? ? ? ? ? align="center", font=("Times", 18, "bold"))看到這,我們的小老虎部分就已經(jīng)大功告成了,大家可以先欣賞一下我們的小老虎:

二、彈窗設(shè)置
在必要處修改我們的數(shù)據(jù)就可以啦,大家以后都可以拿這個(gè)去用!
# 彈窗設(shè)置
def dow():
window = tk.Tk()
width = window.winfo_screenwidth()
height = window.winfo_screenheight()
a = random.randrange(0, width)
b = random.randrange(0, height)
window.title('虎來(lái)嘍!')
window.geometry("200x50" + "+" + str(a) + "+" + str(b))
tk.Label(window,
text='虎年快樂(lè)虎虎生威', # 標(biāo)簽的文字
bg='red', # 背景顏色
font=('..', 17), # 字體和字體大小
width=18, height=2 # 標(biāo)簽長(zhǎng)寬
).pack() # 固定窗口位置
window.mainloop()
三、倒計(jì)時(shí)頁(yè)面設(shè)計(jì)
1. 實(shí)現(xiàn)清屏功能以及初始化位置
import turtle
import time
import random
import tkinter as tk
import threading
# 實(shí)現(xiàn)清屏
def clear_screen():
? ? turtle.screensize(50, 50, bg='yellow')
? ? turtle.penup() ? ? ? ? ? ? #畫(huà)筆抬起
? ? turtle.goto(0,0) ? ? ? ?#定位到(0,0)
? ? turtle.color('white')
? ? turtle.pensize(800) ? ? ? ? #畫(huà)筆粗細(xì)
? ? turtle.pendown() ? ? ? ? ? #畫(huà)筆落下
? ? turtle.setheading(0) ? ? ? ?#設(shè)置朝向
? ? turtle.fd(300) ? ? ? #前進(jìn)
? ? turtle.bk(600) ? ? ?#后退
# 初始化海龜?shù)奈恢?
def go_start(x, y, state):
? ? turtle.pendown() if state else turtle.penup()
? ? turtle.goto(x, y)
? ? #畫(huà)線,state為真時(shí)海龜回到原點(diǎn),為假時(shí)不回到原來(lái)的出發(fā)點(diǎn)
def draw_line(length, angle, state):
? ? turtle.pensize(1)
? ? turtle.pendown()
? ? turtle.setheading(angle)
? ? turtle.fd(length)
? ? turtle.bk(length) if state else turtle.penup()
? ? turtle.penup()2. 顯示倒數(shù)3,2,1
#顯示倒數(shù)3,2,1
def draw_0(i):
turtle.screensize(50, 50, bg='yellow')
turtle.speed(0)
turtle.penup()
turtle.hideturtle() # 隱藏箭頭顯示
turtle.goto(-50, -100)
turtle.color('red')
write = turtle.write(i, font=('宋體', 200, 'normal'))
time.sleep(1)3. 顯示我們需要的文字
# 顯示文字
def draw_1():
turtle.penup()
turtle.hideturtle() #隱藏箭頭顯示
turtle.goto(-410, 0)
turtle.color('red')
write = turtle.write('叮咚~新年禮物到啦??', font=('宋體', 60, 'normal'))
time.sleep(2)
4. 設(shè)定代碼運(yùn)行入口,調(diào)用目標(biāo)函數(shù)
number=[3,2,1] #儲(chǔ)存顯示界面倒數(shù)數(shù)字1,2,3
if __name__ == '__main__':
turtle.setup(900, 500) #調(diào)畫(huà)布的尺寸
for i in number:
turtle.screensize(50, 50, bg='yellow')
draw_0(i)
clear_screen()
turtle.screensize(50, 50, bg='yellow')
draw_1()
clear_screen()
turtle.screensize(50, 50, bg='yellow')
laohu()
time.sleep(5)
threads = []
for i in range(100): # 需要的彈框數(shù)量
t = threading.Thread(target=dow)
threads.append(t)
time.sleep(0.01)
threads[i].start()
結(jié)果展示
最后就是我們的結(jié)果啦,快去試試吧!

源碼分享
import turtle
import time
import random
import tkinter as tk
import threading
# 實(shí)現(xiàn)清屏
def clear_screen():
? ? turtle.screensize(50, 50, bg='yellow')
? ? turtle.penup() ? ? ? ? ? ? #畫(huà)筆抬起
? ? turtle.goto(0,0) ? ? ? ?#定位到(0,0)
? ? turtle.color('white')
? ? turtle.pensize(800) ? ? ? ? #畫(huà)筆粗細(xì)
? ? turtle.pendown() ? ? ? ? ? #畫(huà)筆落下
? ? turtle.setheading(0) ? ? ? ?#設(shè)置朝向
? ? turtle.fd(300) ? ? ? #前進(jìn)
? ? turtle.bk(600) ? ? ?#后退
# 初始化海龜?shù)奈恢?
def go_start(x, y, state):
? ? turtle.pendown() if state else turtle.penup()
? ? turtle.goto(x, y)
#畫(huà)線,state為真時(shí)海龜回到原點(diǎn),為假時(shí)不回到原來(lái)的出發(fā)點(diǎn)
def draw_line(length, angle, state):
? ? turtle.pensize(1)
? ? turtle.pendown()
? ? turtle.setheading(angle)
? ? turtle.fd(length)
? ? turtle.bk(length) if state else turtle.penup()
? ? turtle.penup()
#顯示倒數(shù)3,2,1
def draw_0(i):
? ? turtle.screensize(50, 50, bg='yellow')
? ? turtle.speed(0)
? ? turtle.penup()
? ? turtle.hideturtle() ?# 隱藏箭頭顯示
? ? turtle.goto(-50, -100)
? ? turtle.color('red')
? ? write = turtle.write(i, font=('宋體', 200, 'normal'))
? ? time.sleep(1)
# 顯示文字
def draw_1():
? ? turtle.penup()
? ? turtle.hideturtle() ? ?#隱藏箭頭顯示
? ? turtle.goto(-410, 0)
? ? turtle.color('red')
? ? write = turtle.write('叮咚~新年禮物到啦??', font=('宋體', 60, 'normal'))
? ? time.sleep(2)
def laohu():
? ? import turtle as t
? ? # 設(shè)置幕布大小及顏色
? ? t.screensize(50, 50, bg='yellow')
? ? t.title("老虎寶寶")
? ? t.shape("classic")
? ? t.pensize(10)
? ? t.color("orange")
? ? t.fillcolor("pink")
? ? t.speed(100)
? ? t.hideturtle()
? ? # 左耳
? ? t.penup()
? ? t.goto(-105, 97)
? ? 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(105, 97)
? ? t.setheading(20)
? ? t.begin_fill()
? ? t.pendown()
? ? t.circle(30, 230)
? ? t.setheading(0)
? ? t.circle(-37, 90)
? ? t.end_fill()
? ? # 頭部輪廓
? ? t.penup()
? ? t.goto(-67, 140)
? ? t.setheading(30)
? ? t.pendown()
? ? t.circle(-134, 60)
? ? t.penup()
? ? t.goto(-50, -25)
? ? t.setheading(180)
? ? t.pendown()
? ? t.circle(-100, 30)
? ? t.circle(-30, 90)
? ? t.setheading(100)
? ? t.circle(-200, 20)
? ? t.penup()
? ? t.goto(50, -25)
? ? t.setheading(0)
? ? t.pendown()
? ? t.circle(100, 30)
? ? t.circle(30, 90)
? ? t.setheading(80)
? ? t.circle(200, 20)
? ? # 兩虎眼
? ? # 左眼
? ? t.penup()
? ? t.goto(-90, 25)
? ? t.setheading(-45)
? ? t.fillcolor("orange")
? ? t.begin_fill()
? ? t.pendown()
? ? # 橢圓繪制技巧
? ? a = 0.2
? ? for i in range(120):
? ? ? ? if 0 <= i < 30 or 60 <= i < 90:
? ? ? ? ? ? a = a + 0.1
? ? ? ? ? ? t.lt(3) ?# 向左轉(zhuǎn)3度
? ? ? ? ? ? t.fd(a) ?# 向前走a的步長(zhǎng)
? ? ? ? else:
? ? ? ? ? ? a = a - 0.1
? ? ? ? ? ? t.lt(3)
? ? ? ? ? ? t.fd(a)
? ? t.end_fill()
? ? t.fillcolor("pink")
? ? t.penup()
? ? t.goto(-53, 43)
? ? t.setheading(0)
? ? t.begin_fill()
? ? t.pendown()
? ? t.circle(19, 360)
? ? t.end_fill()
? ? t.penup()
? ? t.pensize(4)
? ? t.goto(-60, 57)
? ? t.setheading(30)
? ? t.pendown()
? ? t.circle(-12, 60)
? ? # 右眼
? ? t.penup()
? ? t.goto(90, 25)
? ? t.setheading(45)
? ? t.pensize(2)
? ? t.fillcolor("orange")
? ? t.begin_fill()
? ? t.pendown()
? ? # 橢圓繪制技巧
? ? a = 0.2
? ? for i in range(120):
? ? ? ? if 0 <= i < 30 or 60 <= i < 90:
? ? ? ? ? ? a = a + 0.1
? ? ? ? ? ? t.lt(3) ?# 向左轉(zhuǎn)3度
? ? ? ? ? ? t.fd(a) ?# 向前走a的步長(zhǎng)
? ? ? ? else:
? ? ? ? ? ? a = a - 0.1
? ? ? ? ? ? t.lt(3)
? ? ? ? ? ? t.fd(a)
? ? t.end_fill()
? ? t.fillcolor("pink")
? ? t.penup()
? ? t.goto(53, 43)
? ? t.setheading(0)
? ? t.begin_fill()
? ? t.pendown()
? ? t.circle(13, 360)
? ? t.end_fill()
? ? t.penup()
? ? t.pensize(4)
? ? t.goto(60, 57)
? ? t.setheading(150)
? ? t.pendown()
? ? t.circle(12, 60)
? ? # 鼻子和嘴吧
? ? t.penup()
? ? t.goto(-16, 20)
? ? t.setheading(-90)
? ? t.fillcolor("pink")
? ? t.begin_fill()
? ? t.pendown()
? ? a = 0.2
? ? for i in range(120):
? ? ? ? if 0 <= i < 30 or 60 <= i < 90:
? ? ? ? ? ? a = a + 0.03
? ? ? ? ? ? t.lt(3)
? ? ? ? ? ? t.fd(a)
? ? ? ? else:
? ? ? ? ? ? a = a - 0.03
? ? ? ? ? ? t.lt(3)
? ? ? ? ? ? t.fd(a)
? ? t.end_fill()
? ? t.penup()
? ? t.goto(-24, 0)
? ? t.setheading(-60)
? ? t.pendown()
? ? t.circle(28, 120)
? ? # 小老虎肢體
? ? # 左肢
? ? t.color("orange")
? ? t.penup()
? ? t.goto(-65, -24)
? ? t.setheading(-140)
? ? t.begin_fill()
? ? t.pendown()
? ? t.circle(100, 40)
? ? t.setheading(180)
? ? t.circle(30, 40)
? ? t.setheading(-40)
? ? t.circle(40, 40)
? ? t.setheading(-150)
? ? a = 0.5
? ? for i in range(120):
? ? ? ? if 0 <= i < 30 or 60 <= i < 90:
? ? ? ? ? ? a = a + 0.05
? ? ? ? ? ? t.lt(3) ?# 向左轉(zhuǎn)3度
? ? ? ? ? ? t.fd(a) ?# 向前走a的步長(zhǎng)
? ? ? ? elif 30 <= i < 60 or 90 <= i < 100:
? ? ? ? ? ? a = a - 0.05
? ? ? ? ? ? t.lt(3)
? ? ? ? ? ? t.fd(a)
? ? t.setheading(93)
? ? t.circle(-150, 30)
? ? t.end_fill()
? ? t.penup()
? ? t.goto(-85, -115)
? ? t.setheading(-150)
? ? t.color("pink", "pink")
? ? t.begin_fill()
? ? t.pendown()
? ? a = 0.3
? ? for i in range(120):
? ? ? ? if 0 <= i < 30 or 60 <= i < 90:
? ? ? ? ? ? a = a + 0.03
? ? ? ? ? ? t.lt(3) ?# 向左轉(zhuǎn)3度
? ? ? ? ? ? t.fd(a) ?# 向前走a的步長(zhǎng)
? ? ? ? else:
? ? ? ? ? ? a = a - 0.03
? ? ? ? ? ? t.lt(3)
? ? ? ? ? ? t.fd(a)
? ? t.end_fill()
? ? # 每個(gè)腳趾繪制函數(shù)
? ? def toe(x, y):
? ? ? ? t.begin_fill()
? ? ? ? t.goto(x, y)
? ? ? ? t.circle(3, 360)
? ? ? ? t.end_fill()
? ? t.penup()
? ? toe(-98, -120)
? ? toe(-96, -110)
? ? toe(-88, -105)
? ? toe(-80, -105)
? ? # 右肢
? ? t.color("orange")
? ? t.penup()
? ? t.goto(65, -24)
? ? t.setheading(-40)
? ? t.begin_fill()
? ? t.pendown()
? ? t.circle(-100, 40)
? ? t.setheading(0)
? ? t.circle(-30, 40)
? ? t.setheading(-140)
? ? t.circle(-40, 40)
? ? t.setheading(-30)
? ? a = 0.5
? ? for i in range(120):
? ? ? ? if 0 <= i < 30 or 60 <= i < 90:
? ? ? ? ? ? a = a + 0.05
? ? ? ? ? ? t.rt(3) ?# 向左轉(zhuǎn)3度
? ? ? ? ? ? t.fd(a) ?# 向前走a的步長(zhǎng)
? ? ? ? elif 30 <= i < 60 or 90 <= i < 100:
? ? ? ? ? ? a = a - 0.05
? ? ? ? ? ? t.rt(3)
? ? ? ? ? ? t.fd(a)
? ? t.setheading(87)
? ? t.circle(150, 30)
? ? t.end_fill()
? ? t.penup()
? ? t.goto(85, -115)
? ? t.setheading(150)
? ? t.color("pink", "pink")
? ? t.begin_fill()
? ? t.pendown()
? ? a = 0.3
? ? for i in range(120):
? ? ? ? if 0 <= i < 30 or 60 <= i < 90:
? ? ? ? ? ? a = a + 0.03
? ? ? ? ? ? t.lt(3) ?# 向左轉(zhuǎn)3度
? ? ? ? ? ? t.fd(a) ?# 向前走a的步長(zhǎng)
? ? ? ? else:
? ? ? ? ? ? a = a - 0.03
? ? ? ? ? ? t.lt(3)
? ? ? ? ? ? t.fd(a)
? ? t.end_fill()
? ? t.penup()
? ? toe(98, -120)
? ? toe(96, -110)
? ? toe(88, -105)
? ? toe(80, -105)
? ? t.goto(-57, -140)
? ? t.color("orange")
? ? t.setheading(-20)
? ? t.pendown()
? ? t.circle(165, 40)
? ? t.penup()
? ? t.goto(0, 180)
? ? t.write("祝大家虎年快樂(lè),虎虎生威!",
? ? ? ? ? ? align="center", font=("Times", 28, "bold"))
? ? t.color("black")
? ? t.penup()
? ? t.goto(0, 80)
? ? t.write("王",
? ? ? ? ? ? align="center", font=("Times", 38, "bold"))
? ? t.penup()
? ? t.goto(0, -5)
? ? t.write("一 ? ? ? ? ? ? ? ? ? 一",
? ? ? ? ? ? align="center", font=("Times", 18, "bold"))
? ? t.goto(0, -15)
? ? t.write("一 ? ? ? ? ? ? ? ? ? 一",
? ? ? ? ? ? align="center", font=("Times", 18, "bold"))
? ? t.goto(0, -25)
? ? t.write("一 ? ? ? ? ? ? ? ? ? 一",
? ? ? ? ? ? align="center", font=("Times", 18, "bold"))
# 彈窗設(shè)置
def dow():
? ? window = tk.Tk()
? ? width = window.winfo_screenwidth()
? ? height = window.winfo_screenheight()
? ? a = random.randrange(0, width)
? ? b = random.randrange(0, height)
? ? window.title('虎來(lái)嘍!')
? ? window.geometry("200x50" + "+" + str(a) + "+" + str(b))
? ? tk.Label(window,
? ? ? ? ? ? ?text='虎年快樂(lè)虎虎生威', ?# 標(biāo)簽的文字
? ? ? ? ? ? ?bg='red', ?# 背景顏色
? ? ? ? ? ? ?font=('..', 17), ?# 字體和字體大小
? ? ? ? ? ? ?width=18, height=2 ?# 標(biāo)簽長(zhǎng)寬
? ? ? ? ? ? ?).pack() ?# 固定窗口位置
? ? window.mainloop()
number=[3,2,1] ? ?#儲(chǔ)存顯示界面倒數(shù)數(shù)字1,2,3
if __name__ == '__main__':
? ? turtle.setup(900, 500) ? ? #調(diào)畫(huà)布的尺寸
? ? for i in number:
? ? ? ? turtle.screensize(50, 50, bg='yellow')
? ? ? ? draw_0(i)
? ? ? ? clear_screen()
? ? turtle.screensize(50, 50, bg='yellow')
? ? draw_1()
? ? clear_screen()
? ? turtle.screensize(50, 50, bg='yellow')
? ? laohu()
? ? time.sleep(5)
? ? threads = []
? ? for i in range(100): ?# 需要的彈框數(shù)量
? ? ? ? t = threading.Thread(target=dow)
? ? ? ? threads.append(t)
? ? ? ? time.sleep(0.01)
? ? ? ? threads[i].start()以上就是Python打造虎年祝福神器的示例代碼的詳細(xì)內(nèi)容,更多關(guān)于Python祝福神器的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
Python OpenCV特征檢測(cè)之特征匹配方式詳解
OpenCV中提供了兩種技術(shù)用于特征匹配,分別為Brute-Force匹配器和基于FLANN的匹配器。本文將為大家詳細(xì)介紹一下這兩種匹配方式,需要的可以參考一下2021-12-12
python中*args與**kwarsg及閉包和裝飾器的用法
這篇文章主要介紹了python中*args與**kwarsg及閉包和裝飾器的用法說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-07-07
python神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)數(shù)據(jù)增強(qiáng)及預(yù)處理示例詳解
這篇文章主要為大家介紹了python神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)數(shù)據(jù)增強(qiáng)及預(yù)處理示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-05-05
5道關(guān)于python基礎(chǔ) while循環(huán)練習(xí)題
這篇文章主要給大家分享的是5道關(guān)于python基礎(chǔ) while循環(huán)練習(xí)題,無(wú)論學(xué)習(xí)什么語(yǔ)言,練習(xí)都是必不可少的,下面文章的練習(xí)題挺精湛的,需要的朋友可以參考一下2021-11-11
如何在Python中利用matplotlib.pyplot畫(huà)出函數(shù)圖詳解
通過(guò)圖像可以直觀地學(xué)習(xí)函數(shù)變化、分布等規(guī)律,在學(xué)習(xí)函數(shù)、概率分布等方面效果顯著,下面這篇文章主要給大家介紹了關(guān)于如何在Python中利用matplotlib.pyplot畫(huà)出函數(shù)圖的相關(guān)資料,需要的朋友可以參考下2022-08-08
python二進(jìn)制轉(zhuǎn)換模塊的具體用法
在pyton中,通過(guò)struct模塊來(lái)對(duì)二進(jìn)制進(jìn)行轉(zhuǎn)換,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-01-01
Python定時(shí)發(fā)送消息的腳本:每天跟你女朋友說(shuō)晚安
今天小編就為大家分享一篇關(guān)于Python定時(shí)發(fā)送消息的腳本:每天跟你女朋友說(shuō)晚安的文章,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧2018-10-10
詳解OpenCV中直方圖,掩膜和直方圖均衡化的實(shí)現(xiàn)
這篇文章主要為大家詳細(xì)介紹了OpenCV中直方圖、掩膜、直方圖均衡化詳細(xì)介紹及代碼的實(shí)現(xiàn),文中的示例代碼講解詳細(xì),需要的可以參考一下2022-11-11

