就是520了,不知道各位有没有都由单身dog进化为秀恩爱dog。
在我大三的时候,就有一个计算机的朋友用自己做的代码感动了一个数学系的女生。就是下面这种。(这个爱心是有运行结果的!)也不知道为什么妹子放弃了全班30多位帅哥(没错,他们班就她一个女生),而选择了头发日渐稀疏已经“六月怀胎”的我朋友。
今天,我就来教大家一下,如何用Python做一份特别的礼物送给自己的恋人。
当然了,如果还是单身的,也可以把这个作为表白神器,和心爱的人表白。
道该如何操作,那些不懂编程的人,如果想尝试,那该怎么办呢?
这里我特地制作了小程序,微信后台私信“小程序”即可获取。运行就可以了。
懂编程的就看下面的吧!送上这份礼物之后,保证你明晚.....巫山云雨后,天气晚来秋啊!
01
首先教大家一个初级版的。这个就比较简单,利用Python制作一个爱心。
我先把代码给贴出来:
""" @File : 文件操作.py @Time : 2020/5/19 17:32 @Author : 雨涵 @Email : 787399052@qq.com @Software: PyCharm """ import turtle import time # 画爱心的顶部 def LittleHeart(): for i in range (200): turtle.right(1) turtle.forward(2) # 输入表白的语句,默认I Love you love=input('Please enter a sentence of love, otherwise the default is "I Love you":\n') #输入署名或者赠谁,没有不执行 me=input('Please enter pen name, otherwise the default do not execute:\n') if love=='': love='I Love you' # 窗口大小 turtle.setup(width=900, height=500) # 颜色 turtle.color('red','pink') # 笔粗细 turtle.pensize(3) # 速度 turtle.speed(1) # 提笔 turtle.up() # 隐藏笔 turtle.hideturtle() # 去到的坐标,窗口中心为0,0 turtle.goto(0,-180) turtle.showturtle() # 画上线 turtle.down() turtle.speed(1) turtle.begin_fill() turtle.left(140) turtle.forward(224) #调用画爱心左边的顶部 LittleHeart() #调用画爱右边的顶部 turtle.left(120) LittleHeart() # 画下线 turtle.forward(224) turtle.end_fill() turtle.pensize(5) turtle.up() turtle.hideturtle() # 在心中写字 一次 turtle.goto(0,0) turtle.showturtle() turtle.color('#CD5C5C','pink') #在心中写字 font可以设置字体自己电脑有的都可以设 align开始写字的位置 turtle.write(love,font=('gungsuh',30,),align="center") turtle.up() turtle.hideturtle() time.sleep(2) # 在心中写字 二次 turtle.goto(0,0) turtle.showturtle() turtle.color('red','pink') turtle.write(love,font=('gungsuh',30,),align="center") turtle.up() turtle.hideturtle() # 写署名 if me !='': turtle.color('black', 'pink') time.sleep(2) turtle.goto(180,-180) turtle.showturtle() turtle.write(me, font=(20,), align="center", move=True) #点击窗口关闭 window=turtle.Screen() window.exitonclick()这个代码最终呈现效果如下,这个是比较初级简单的爱心,没有什么高难度。你也可以把代码扩充一下,整的更加高大上一些。
如果你觉得这个还不够酷炫,那我好人做到底,帮你制作一个表白爱心树:
import turtle import random def love(x, y): # 在(x,y)处画爱心lalala lv = turtle.Turtle() lv.hideturtle() lv.up() lv.goto(x, y) # 定位到(x,y) def curvemove(): # 画圆弧 for i in range(20): lv.right(10) lv.forward(2) lv.color('red', 'pink') lv.speed(10000000) lv.pensize(1) # 开始画爱心lalala lv.down() lv.begin_fill() lv.left(140) lv.forward(22) curvemove() lv.left(120) curvemove() lv.forward(22) lv.write("yuhan", font=("Arial", 12, "normal"), align="center") # 写上表白的人的名字 lv.left(140) # 画完复位 lv.end_fill() def tree(branchLen, t): if branchLen > 5: # 剩余树枝太少要结束递归 if branchLen < 20: # 如果树枝剩余长度较短则变绿 t.color("green") t.pensize(random.uniform((branchLen + 5) / 4 - 2, (branchLen + 6) / 4 + 5)) t.down() t.forward(branchLen) love(t.xcor(), t.ycor()) # 传输现在turtle的坐标 t.up() t.backward(branchLen) t.color("brown") return t.pensize(random.uniform((branchLen + 5) / 4 - 2, (branchLen + 6) / 4 + 5)) t.down() t.forward(branchLen) # 以下递归 ang = random.uniform(15, 45) t.right(ang) tree(branchLen - random.uniform(12, 16), t) # 随机决定减小长度 t.left(2 * ang) tree(branchLen - random.uniform(12, 16), t) # 随机决定减小长度 t.right(ang) t.up() t.backward(branchLen) myWin = turtle.Screen() t = turtle.Turtle() t.hideturtle() t.speed(1000) t.left(90) t.up() t.backward(200) t.down() t.color("brown") t.pensize(32) t.forward(60) tree(100, t) myWin.exitonclick()图中的“yuhan”是可以改的!看到代码里的“yuhan”几个字了没?直接把这两个字母替换成你心上人的名字就好。中文英文都可以。
02
第二种Gif图,简单优雅,代码易懂,用python标准库turtle一步步画图,完成之后用屏幕录制gif工具生成动图就行了,效果演示:
import turtle import time # writing txt turtle.hideturtle() turtle.penup() turtle.goto(80, 50) # turtle.pendown() turtle.color("purple") time.sleep(1) #XX同学可以改为你自己的表白对象 turtle.write("XX同学给你画个东西", font=("Times", 18, "bold")) time.sleep(0.5) turtle.goto(180, 10) turtle.write("开始了哈~", font=("Times", 18, "bold")) time.sleep(0.5) turtle.goto(200, -20) turtle.write("Ready?", font=("Times", 18, "bold")) time.sleep(0.5) turtle.goto(215, -50) turtle.write("go!", font=("Times", 18, "bold")) time.sleep(0.5) # turtle.end_fill() # # 设置初始位置 turtle.goto(0, 0) turtle.color("black") turtle.penup() turtle.left(90) turtle.fd(200) turtle.pendown() turtle.right(90) # 花蕊 turtle.fillcolor("red") turtle.begin_fill() turtle.circle(10, 180) turtle.circle(25, 110) turtle.left(50) turtle.circle(60, 45) turtle.circle(20, 170) turtle.right(24) turtle.fd(30) turtle.left(10) turtle.circle(30, 110) turtle.fd(20) turtle.left(40) turtle.circle(90, 70) turtle.circle(30, 150) turtle.right(30) turtle.fd(15) turtle.circle(80, 90) turtle.left(15) turtle.fd(45) turtle.right(165) turtle.fd(20) turtle.left(155) turtle.circle(150, 80) turtle.left(50) turtle.circle(150, 90) turtle.end_fill() # 花瓣1 turtle.left(150) turtle.circle(-90, 70) turtle.left(20) turtle.circle(75, 105) turtle.setheading(60) turtle.circle(80, 98) turtle.circle(-90, 40) # 花瓣2 turtle.left(180) turtle.circle(90, 40) turtle.circle(-80, 98) turtle.setheading(-83) # 叶子1 turtle.fd(30) turtle.left(90) turtle.fd(25) turtle.left(45) turtle.fillcolor("green") turtle.begin_fill() turtle.circle(-80, 90) turtle.right(90) turtle.circle(-80, 90) turtle.end_fill() turtle.right(135) turtle.fd(60) turtle.left(180) turtle.fd(85) turtle.left(90) turtle.fd(80) # 叶子2 turtle.right(90) turtle.right(45) turtle.fillcolor("green") turtle.begin_fill() turtle.circle(80, 90) turtle.left(90) turtle.circle(80, 90) turtle.end_fill() turtle.left(135) turtle.fd(60) turtle.left(180) turtle.fd(60) turtle.right(90) turtle.circle(200, 60) time.sleep(0.5) turtle.penup() turtle.color("orange") turtle.goto(180, -100) turtle.write("umd~送给你~", font=("Times", 18, "bold")) turtle.goto(180, -120) turtle.write("情人节快乐!", font=("Times", 18, "bold")) time.sleep(10)屏幕录制工具我用的 licecapGIF,很强大,录制出来的像素很高体积很小
下载地址我也放这里,需要的可以直接下载使用哈
链接:https://pan.baidu.com/s/1p2i8T6lzRSj3ktE4E20y2Q
提取码:w66e
推荐阅读
Web应用程序安全性测试指南
测试真的是一个无聊又没前途的岗位吗?
1000G存干货分享,可直接观看~~~~~
测试面试题集-性能测试
我与我的职业梦想 – 成为一名优秀的软件工程师
常见几种加密算法的Python实现
一篇文章教会你利用Python网络爬虫抓取王者荣耀图片
