来源:百度动图
一年一度的七夕又快到了,我发现网上有很多写得很好的Python表白代码,感觉绘出来的图很漂亮。
我整理了一下,挑了一些我觉得不错的代码和部分自认不错的原创分享给大家。
这些我都测试过,确实可以生成喔~,选一种喜欢的方式发给你的那个TA吧
。
更多原创表白代码:比心、永恒心动、我的眼里只有你、表白烟花、这是我的某某某见本文最后的文章链接。
可以边听音乐边看Python代码图
。

1. 一行代码画爱心
print('\n'.join([''.join([('Love'[(x-y)%4]if((x*0.05)**2+(y*0.1)**2-1)**3-(x*0.05)**2*(y*0.1)**3<=0 else' ')for x in range(-30,30)])for y in range(15,-15,-1)]))效果图

2. 用turtle库画爱心加文字
import turtleimport mathturtle.pen()t=turtlet.up()t.goto(0,150)t.down()t.color('red')t.begin_fill()t.fillcolor('red')t.speed(1)t.left(45)t.forward(150)t.right(45)t.forward(100)t.right(45)t.forward(100)t.right(45)t.forward(100)t.right(45)t.forward(250+math.sqrt(2)*100)t.right (90)t.speed(2)t.forward(250+100*math.sqrt(2))t.right(45)t.forward(100)t.right(45)t.forward(100)t.right(45)t.forward(100)t.right(45)t.forward(150)t.end_fill()t.goto(-10,0)t.pencolor('white')#Lt.pensize(10)t.goto(-50,0)t.goto(-50,80)t.up ()#It.goto(-100,0)t.down()t.goto(-160,0)t.goto(-130,0)t.goto(-130,80)t.goto(-160,80)t.goto(-100,80)t.up()#Ot.goto(10,25)t.down()t.right(45)t.circle(25,extent=180)t.goto(60,55)t.circle(25,extent=180)t.goto(10,25)t.up()t.goto(75,80)t.down()t.goto(100,0)t.goto(125,80)t.up()t.goto(180,80)t.down()t.goto(140,80)t.goto(140,0)t.goto(180,0)t.up()t.goto(180,40)t.down()t.goto(140,40)#Ut.up()t.goto(-40,-30)t.down()t.goto(-40,-80)t.circle(40,extent=180)t.goto(40,-30)t.hideturtle()


1. 用turtle库画一朵玫瑰花版本1
#!/usr/bin/env python# coding: utf-8#绘制玫瑰花并添加文字import turtle# 设置画布大小# turtle.screensize(canvwidth=None, canvheight=None, bg=None)turtle.setup(width=0.6, height=0.6)# 设置初始位置turtle.penup()turtle.left(90)turtle.fd(200)turtle.pendown()turtle.right(90)# 输出文字printer = turtle.Turtle()printer.hideturtle()printer.penup()printer.back(200)printer.write("赠给亲爱的 XX\n\n", align="right", font=("楷体", 16, "bold"))printer.write("from XXX", align="center", font=("楷体", 12, "normal"))# 花蕊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()# 花瓣1turtle.left(150)turtle.circle(-90, 70)turtle.left(20)turtle.circle(75, 105)turtle.setheading(60)turtle.circle(80, 98)turtle.circle(-90, 40)# 花瓣2turtle.left(180)turtle.circle(90, 40)turtle.circle(-80, 98)turtle.setheading(-83)# 叶子1turtle.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)# 叶子2turtle.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)turtle.done()

# -*- coding: UTF-8 -*-'''代码用途 :画玫瑰花作者 :阿黎逸阳博客 : https://blog.csdn.net/qq_32532663/article/details/106176609'''import osimport timeimport pygameimport turtle as t#播放音乐print('播放音乐')pygame.mixer.init()pygame.mixer.music.load(r"F:\公众号\62.玫瑰花\Eran - 春の思い出.mp3")pygame.mixer.music.set_volume(0.5)pygame.mixer.music.play(1, 10)t.title('阿黎逸阳的代码公众号')t.speed(3)t.setup(startx=0, starty = 0, width=800, height = 600)#画爱心def red_heart():t.penup()t.goto(0, 200)t.pendown()t.pensize(2)t.color('black', 'red')t.begin_fill()t.setheading(110)t.circle(30, 150)t.left(15)t.circle(50, 70)t.circle(-50, 30)t.left(100)t.circle(-50, 30)t.right(10)t.circle(50, 70)t.left(5)t.circle(29, 175)t.end_fill()def top_arc():#画花上面的部分t.penup()t.goto(18, 224)t.pendown()t.begin_fill()t.setheading(125)t.pensize(2)t.color('black', 'red')t.circle(25, 125)t.color('red')t.circle(25, 360-125)t.end_fill()def under_arc():#画下弧线t.penup()t.goto(-58, 190)t.pendown()t.begin_fill()t.color('black', 'red')t.setheading(290)t.circle(-120, 50)t.circle(60, 120)t.setheading(-10)t.circle(60, 120)t.left(4)t.circle(-120, 50)t.end_fill()def stamen():#画花蕊t.penup()t.goto(0, 185)t.pendown()t.setheading(90)t.circle(5, 270)t.right(5)t.circle(100, 8)#t.right(10)t.circle(10, 180)t.circle(100, 8)t.right(10)t.circle(15, 160)t.circle(80, 5)t.right(34)t.circle(-30, 80)#画花身t.right(10)t.circle(100, 82)#画竖线t.penup()t.goto(-10, 183)t.pendown()t.setheading(-90)t.forward(15)t.penup()t.goto(-21, 179)t.pendown()t.setheading(-90)t.forward(25)t.penup()t.goto(18, 185)t.pendown()t.setheading(-90)t.forward(29)print('画心')red_heart()print('画顶部弧线')top_arc()print('画下弧线')under_arc()print('画心')red_heart()print('画花蕊')stamen()# 写文字t.hideturtle()t.penup()t.goto(-200, -200)t.pendown()t.write("赠给亲爱的 XX\n\n", align="right", font=("楷体", 16, "bold"))t.penup()t.goto(-200, -200)t.pendown()t.write("from XXX", align="right", font=("楷体", 12, "normal"))
注:如需视频源代码,请在公众号中回复“玫瑰花2”,即可免费获取。
3. 用turtle库画爱心加文字
import turtleimport randomdef love(x, y): # 在(x,y)处画爱心lalalalv = 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)# 开始画爱心lalalalv.down()lv.begin_fill()lv.left(140)lv.forward(22)curvemove()lv.left(120)curvemove()lv.forward(22)lv.write("YZ", 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")returnt.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()


"""代码用途:表白作者:阿黎逸阳"""def bgpic(self, picname=None):"""Set background image or return name of current backgroundimage.Optional argument:picname -- a string, name of a gif-file or "nopic".If picname is a filename, set the corresponding image as background.If picname is "nopic", delete backgroundimage, if present.If picname is None, return the filename of the current backgroundimage.Example (for a TurtleScreen instance named screen):>>> screen.bgpic()'nopic'>>> screen.bgpic("landscape.gif")>>> screen.bgpic()'landscape.gif'"""if picname is None:return self._bgpicnameif picname not in self._bgpics:self._bgpics[picname] = self._image(picname)self._setbgpic(self._bgpic, self._bgpics[picname])self._bgpicname = picname# coding: utf-8import pygameimport osimport sysfrom pygame.locals import *os.chdir('F:/微信公众号/Python/29.加载音乐')os.getcwd()pygame.init()pygame.mixer.init()pygame.mixer.music.load("告白.mp3")#pygame.mixer.music.set_volume(0.4)pygame.mixer.music.play()bg_size = width, height = 300, 200bg_rgb = (255, 255, 255)screen1 = pygame.display.set_mode(bg_size)pygame.display.set_caption("告白音乐")clock = pygame.time.Clock()play_image = pygame.image.load("开始和暂停按钮2.png").convert_alpha()pause_image = pygame.image.load("开始和暂停按钮2.png").convert_alpha()pause_rect = pause_image.get_rect()print(pause_rect.width,pause_rect.height)pause_rect.left, pause_rect.top = (width - pause_rect.width) // 2, (height - pause_rect.height) // 2from turtle import *from random import random,randintos.chdir('F:/微信公众号/Python/0.已发表')screen = Screen()width ,height = 900,700screen.setup(width,height)screen.title("告白")screen.bgcolor("black")screen.bgpic(r'./星空下互相告白的两个人2.gif')screen.mode("logo")screen.delay(0)printer = Turtle()printer.hideturtle()printer.penup()printer.color('red')printer.goto(-100,-350)printer.write("In the whole universe\n\n",move = True, align="left", font=("Italic", 30, "bold"))printer.goto(-50,-400)printer.write("YZ I only love you!\n\n",move = True, align="left", font=("Italic", 30, "bold"))t = Turtle(visible = False,shape='circle')t.pencolor("white")t.fillcolor("white")t.penup()t.setheading(-90)t.goto(width/2,randint(-height/2,height/2))stars = []for i in range(300):star = t.clone()s =random()/3if s>0.01 and s<0.03:star.pencolor("black")star.fillcolor("black")elif s>0.03 and s<0.04:star.pencolor("lightcoral")star.fillcolor("lightcoral")elif s>0.05 and s<0.1:star.pencolor("green")star.fillcolor("green")elif s>0.15 and s<0.16:star.pencolor("yellow")star.fillcolor("yellow")elif s>0.19 and s<0.2:star.pencolor("red")star.fillcolor("red")elif s>0.21 and s<0.22:star.pencolor("purple")star.fillcolor("purple")elif s>0.29 and s<0.3:star.pencolor("darkorange")star.fillcolor("darkorange")elif s>0.31 and s<0.32:star.pencolor("red")star.fillcolor("yellow")elif s>0.32 and s<0.33:star.pencolor("yellow")star.fillcolor("white")star.shapesize(s,s)star.speed(int(s*30))star.setx(width/2 + randint(1,width))star.sety( randint(-height/2,height/2))#star.showturtle()stars.append(star)i = 0pause = Falsewhile True:i += 0for star in stars:star.setx(star.xcor() - 3 * star.speed())if star.xcor()<-width/2:star.hideturtle()star.setx(width/2 + randint(1,width))star.sety( randint(-height/2,height/2))star.showturtle()if i>= 100:break# 查找队列事件for event in pygame.event.get():# 查找点击关闭窗口事件if event.type == QUIT:sys.exit# 查找鼠标左右击事件if event.type == MOUSEBUTTONDOWN:if event.button == 1:pause = not pauseif event.button == 3:pause = not pauseif event.type == KEYDOWN:if event.key == K_SPACE:pause = not pausescreen1.fill(bg_rgb)if pause:pygame.mixer.music.pause()screen1.blit(pause_image, pause_rect)else:pygame.mixer.music.unpause()screen1.blit(play_image, pause_rect)pygame.display.flip()clock.tick(30)

#!/usr/bin/env python# encoding: utf-8from PIL import Imageimport cv2import osos.chdir(r"F:\微信公众号\Python\30.520表白\代码\照片墙\new")img = cv2.imread("start.jpg")height,width,channels = img.shapeunit_size = 120y_index = height//unit_sizex_index = width//unit_sizenew_img = Image.new('RGB',(width,height),'#FFFFFF')pic_list = []for item in os.listdir("small_pictures"):if item.endswith(".jpg") or item.endswith(".JPG") :pic_list.append(item)total = len(pic_list)x=0y=0for i in range(x_index*y_index):print(f"目前进度{i}/{x_index*y_index}")test = Image.open("small_pictures/" + pic_list[i%total]).resize((unit_size,unit_size), Image.ANTIALIAS)new_img.paste(test,(x*unit_size,y*unit_size))x+=1if x==x_index:x=0y+=1print("素材图合成完毕!")new_img.save("out.jpg",quality=100)src1 = cv2.imread("start.jpg")src2 = cv2.imread("out.jpg")result = cv2.addWeighted(src1,0.7,src2,0.3,0)cv2.imwrite("result.jpg",result)
效果图1

效果图2

。https://zhuanlan.zhihu.com/p/77129961https://www.cnblogs.com/ooo888ooo/p/10629205.htmlhttps://www.zhihu.com/question/306127738/answer/558080822?utm_source=wechat_session&utm_medium=social&utm_oi=1090367802518536192
往期回顾:
一文囊括风控模型搭建(原理+Python实现),持续更新。。。


限时免费进交流群
19967879837
添加微信号、手机号



