2

快过年了,用Python写副春联&福字送给你~

 2 years ago
source link: https://segmentfault.com/a/1190000041329596
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

快过年了,用Python写副春联&福字送给你~

马上要过年了,用 Python 写一副春联&福字送给大家,本文我们主要用到的 Python 库为 tkinter,下面一起来看一下具体实现。

首先,我们创建一个画布,代码实现如下:

root=Tk()
root.title('新年快乐')
canvas=Canvas(root,width=500,height=460,bg='lightsalmon')

看一下效果:

我们接着写上联,主要代码实现如下:

for i in range(0,451):
    canvas.create_rectangle(10,3,76,i,outline='#FFA07A',fill='red')
    root.update()
    
for i in range(len(str_1)):
    canvas.create_text(40,str_2[i],text=str_1[i],fill='#FFD700',font=('楷体',30,'bold'))
    root.update()
    time.sleep(0.5)    

看一下效果:

再接着写横批,主要代码实现如下:

for i in range(150,350):
    canvas.create_rectangle(150,3,i,62,outline='#FFA07A',fill='red')
    root.update()

for i in range(len(str_4)):
    canvas.create_text(str_5[i],33,text=str_4[i],fill='#FFD700',font=('楷体',30,'bold'))
    root.update()
    time.sleep(0.5)

看一下效果:

再接着写下联,主要代码实现如下:

for i in range(0,451):
    canvas.create_rectangle(424,3,490,i,outline='#FFA07A',fill='red')
    root.update()

for i in range(len(str_3)):
    canvas.create_text(454,str_2[i],text=str_3[i],fill='#FFD700',font=('楷体',30,'bold'))
    root.update()
    time.sleep(0.5)

看一下效果:

我们再接着画一扇简单的门,主要代码实现如下:

for i in range(167,251):
    canvas.create_rectangle(167,130,i,441,outline='#FFA07A',fill='red')
    root.update()

for i in range(250,334):
    canvas.create_rectangle(250,130,i,441,outline='#FFA07A',fill='red')
    root.update()

看一下效果:

感觉门上有点光秃秃的,这样我们再接着在门上写两个福字,代码实现如下:

canvas.create_text(210,280,fill='#FFD700',text='福',font=('楷体',45,'bold'))
canvas.create_text(290,280,fill='#FFD700',text='福',font=('楷体',45,'bold'))

看一下最终效果:

源码在公号Python小二后台回复春联获取~


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK