七夕表白代码合集

来源:百度动图


中国情人节



七夕节,又称“七巧节”“女儿节”“乞巧节”等,是中国民间的传统节日。这个节日被赋予了“牛郎织女”的美丽爱情传说,被认为是中国最具浪漫色彩的传统节日,在当代更是产生了“中国情人节”的文化含义。

一年一度的七夕又快到了,我发现网上有很多写得很好的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()
效果图


2. 用turtle库画一朵玫瑰花版本2
# -*- 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 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("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") 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()
效果图


三、高阶版
1. 星空下的告白
"""代码用途:表白作者:阿黎逸阳"""
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._bgpicname if picname not in self._bgpics: self._bgpics[picname] = self._image(picname) self._setbgpic(self._bgpic, self._bgpics[picname]) self._bgpicname = picname# coding: utf-8import pygame import os import 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, 200 bg_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()/3 if 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 = False while True: i += 0 for 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 pause if event.button == 3: pause = not pause
if event.type == KEYDOWN: if event.key == K_SPACE: pause = not pause screen1.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)
效果图

注:如需上图源代码和照片,请在公众号中回复“星空下的告白”,即可免费获取。

2.照片墙
#!/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.shape  unit_size = 120                    y_index = height//unit_size        x_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+=1    if x==x_index:        x=0        y+=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

注:如需照片墙源代码和照片,请在公众号中回复“照片墙”,即可免费获取。
更多关于七夕表白的文章如下:
Python版比心

七夕表白玫瑰花

永恒的心动

情人节表白烟花

我的眼里只有你

表白-白衣天使

带音乐字符画+带颜色字符画—情人节表白代码

教你用Python秀恩爱、撒狗粮——这是我的某某某

感兴趣的可以进入文章页看下,祝大家七夕节日快乐,有情人终成眷属
【限时免费进群】群内提供学习Python、玩转Python、风控建模、人工智能、数据分析相关招聘推信息、优秀文章、学习视频,也可交流学习工作中遇到的相关问题。需要的朋友添加微信号19967879837,加时备注想进的群,比如风控建模。
参考文献
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中的函数,持续更新。。。

一文囊括Python中的有趣案例,持续更新。。。

一文囊括Python中的数据分析与绘图,持续更新。。。

一文囊括风控模型搭建(原理+Python实现),持续更新。。。



限时免费进交流群

19967879837

添加微信号、手机号

请使用浏览器的分享功能分享到微信等