程序员的浪漫!用Python实现表白代码!

猿友 2021-07-26 10:48:43 浏览数 (15450)
反馈

大家都说程序员土,不懂得浪漫,其实这都是偏见。程序员也可以很浪漫。接下来小编就带来一些python表白代码,让我们来看看程序员能有多浪漫吧(学习需求:会海龟绘图法和懂一点字符画生成方式:主要是PIL库的使用)!

一、浪漫玫瑰花

浪漫玫瑰花

实现代码:

from turtle import *
import time
 
setup(1000,800,0,0)
speed(0)
penup()
seth(90)
fd(340)
seth(0)
pendown()
 
speed(5)
begin_fill()
fillcolor('red')
circle(50,30)
 
for i in range(10):
    fd(1)
    left(10)
 
circle(40,40)
 
for i in range(6):
    fd(1)
    left(3)
 
circle(80,40)
 
for i in range(20):
    fd(0.5)
    left(5)
 
circle(80,45)
 
for i in range(10):
    fd(2)
    left(1)
 
circle(80,25)
 
for i in range(20):
    fd(1)
    left(4)
 
circle(50,50)
 
time.sleep(0.1)
 
circle(120,55)
 
speed(0)
 
seth(-90)
fd(70)
 
right(150)
fd(20)
 
left(140)
circle(140,90)
 
left(30)
circle(160,100)
 
left(130)
fd(25)
 
penup()
right(150)
circle(40,80)
pendown()
 
left(115)
fd(60)
 
penup()
left(180)
fd(60)
pendown()
 
end_fill()
 
right(120)
circle(-50,50)
circle(-20,90)
 
speed(1)
fd(75)
 
speed(0)
circle(90,110)
 
penup()
left(162)
fd(185)
left(170)
pendown()
circle(200,10)
circle(100,40)
circle(-52,115)
left(20)
circle(100,20)
circle(300,20)
speed(1)
fd(250)
 
penup()
speed(0)
left(180)
fd(250)
circle(-300,7)
right(80)
circle(200,5)
pendown()
 
left(60)
begin_fill()
fillcolor('green')
circle(-80,100)
right(90)
fd(10)
left(20)
circle(-63,127)
end_fill()
 
penup()
left(50)
fd(20)
left(180)
 
pendown()
circle(200,25)
 
penup()
right(150)
 
fd(180)
 
right(40)
pendown()
begin_fill()
fillcolor('green')
circle(-100,80)
right(150)
fd(10)
left(60)
circle(-80,98)
end_fill()
 
penup()
left(60)
fd(13)
left(180)
 
pendown()
speed(1)
circle(-200,23)
 
exitonclick()

什么?只有玫瑰花太单调?那再给你来几个爱心够不够?

二、浪漫玫瑰加爱心

玫瑰加爱心

实现代码:

import turtle
import time
import random
 
# 爱心函数
def yellowheart(x, y, liftx):
 
    turtle.pensize(3)
    turtle.speed(10)
    turtle.color("red", "red")
    turtle.up()
    turtle.goto(x, y)
    turtle.down()
    turtle.begin_fill()
    turtle.left(liftx)
    turtle.fd(80)
    turtle.circle(-40, 180)
    turtle.left(90)
    turtle.circle(-40, 180)
    turtle.left(0)
    turtle.fd(80)
    turtle.end_fill()
 
 
def rose():
    turtle.speed(0)  # 画笔移动的速度
    #turtle.tracer(False)
    # 设置初始位置
    turtle.penup()  # 提起画笔
    turtle.left(90)  # 逆时针转动画笔90度
    turtle.fd(200)
    turtle.pendown()  # 放下画笔,移动画笔即开始绘制
    turtle.right(90)
    # 设置画笔的大小
    turtle.pensize(2)
 
    # 花蕊
 
    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()  # 结束填充
 
    # 右侧花瓣
    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)
 
    # 左侧花瓣
    turtle.left(180)
    turtle.circle(90, 40)
    turtle.circle(-80, 98)
    turtle.setheading(-83)
 
    # 左侧叶子
    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)
 
    # 右侧叶子
    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, 50)  # 画一个圆 200 是半径,50 是弧度
 
    time.sleep(1)
    # turtle.tracer(False)
    #turtle.pensize(3)
    #turtle.speed(0)
    turtle.color("red", "red")
    turtle.up()
    turtle.goto(-230, 50)
    turtle.down()
    turtle.begin_fill()
    turtle.left(180)
    turtle.fd(80)
    turtle.circle(-40, 180)
    turtle.left(90)
    turtle.circle(-40, 180)
    turtle.left(0)
    turtle.fd(80)
    turtle.end_fill()
 
    time.sleep(1)
    # turtle.tracer(False)
    #turtle.pensize(3)
    #turtle.speed(0)
    turtle.color("red", "red")
    turtle.up()
    turtle.goto(-230, -80)
    turtle.down()
    turtle.begin_fill()
    turtle.left(-30)
    turtle.fd(80)
    turtle.circle(-40, 180)
    turtle.left(90)
    turtle.circle(-40, 180)
    turtle.left(0)
    turtle.fd(80)
    turtle.end_fill()
 
    time.sleep(1)
    # turtle.tracer(False)
    # turtle.pensize(3)
    # turtle.speed(0)
    turtle.color("red", "red")
    turtle.up()
    turtle.goto(-130, -180)
    turtle.down()
    turtle.begin_fill()
    turtle.left(-80)
    turtle.fd(80)
    turtle.circle(-40, 180)
    turtle.left(90)
    turtle.circle(-40, 180)
    turtle.left(0)
    turtle.fd(80)
    turtle.end_fill()
 
    time.sleep(1)
    # turtle.tracer(False)
    # turtle.pensize(3)
    # turtle.speed(0)
    turtle.color("red", "red")
    turtle.up()
    turtle.goto(200, -200)
    turtle.down()
    turtle.begin_fill()
    turtle.left(-90)
    turtle.fd(80)
    turtle.circle(-40, 180)
    turtle.left(90)
    turtle.circle(-40, 180)
    turtle.left(0)
    turtle.fd(80)
    turtle.end_fill()
 
    time.sleep(1)
    # turtle.tracer(False)
    # turtle.pensize(3)
    # turtle.speed(0)
    turtle.color("red", "red")
    turtle.up()
    turtle.goto(200, 50)
    turtle.down()
    turtle.begin_fill()
    turtle.left(90)
    turtle.fd(80)
    turtle.circle(-40, 180)
    turtle.left(90)
    turtle.circle(-40, 180)
    turtle.left(0)
    turtle.fd(80)
    turtle.end_fill()
 
 
def figure1():
    turtle.reset()
    turtle.tracer(False)
    rose()
    yellowheart(-230, 50, 180)  # 左一
    #time.sleep(2)
 
def figure2():
    # turtle.reset()
    turtle.tracer(False)
    rose()
    yellowheart(-230, -80, -30)     # 左二
    # time.sleep(2)
 
def figure3():
    turtle.reset()
    turtle.tracer(False)
    rose()
    yellowheart(-130, -180, -30)    # 左三
    # time.sleep(2)
 
def figure4():
    turtle.reset()
    turtle.tracer(False)
    rose()
    yellowheart(200, 50, 90)        # 右一
    # ime.sleep(2)
 
def figure5():
    turtle.reset()
    turtle.tracer(False)
    rose()
    yellowheart(200, -200, -90)  # 右二
    # time.sleep(2)
 
if __name__ == "__main__":
    rose()
    # figure1()
    #
    # yellowheart(-230, -80, -30)  # 左二
    # 不让自动退出,放在程序的最后一行
    # 不然画画结束后会自动退出
    turtle.done()
coding:utf-8

三、心心相印

心心相印

实现代码:

from turtle import *
from time import sleep
def go_to(x, y):
    up()
    goto(x, y)
    down()
def small_Circle(size):  # 函数用于绘制心的小圆
    speed(10)
    for i in range(210):
        forward(size)
        right(0.786)
def big_Circle(size):  # 函数用于绘制心的大圆
    speed(10)
    for i in range(150):
        forward(size)
        right(0.3)
def line(size):
    speed(10)
    forward(51 * size)
def heart(x, y, size):
    go_to(x, y)
    left(150)
    begin_fill()
    line(size)
    big_Circle(size)
    small_Circle(size)
    left(120)
    small_Circle(size)
    big_Circle(size)
    line(size)
    end_fill()
def main():
    pensize(2)
    color('red', 'pink')
    getscreen().tracer(1, 0)
    heart(100, 0, 0.7)
    go_to(80, 70)
    write("先生", font=("楷体", 18, "normal"))
    setheading(0)
    heart(-80, -100, 1)
    go_to(-110, 15)
    write("小姐", font=("宋体", 20, "normal"))
    go_to(40, -80)
    write("三生有幸遇见你!", move=True, align="left", font=("arial", 22, "italic"))
    done()
main()

四、粉嫩爱心

粉嫩爱心

实现代码:

'''不正经爱心'''
#coding=utf-8
import turtle
import time
 
 
def draw_circle():
    for i in range(400):
        turtle.right(0.5)
        turtle.forward(1)
 
 
def draw_love():
    #    turtle.color('red','darkred')
    #    turtle.pensize(1)
    turtle.pen(fillcolor="pink", pencolor="red", pensize=8)
    turtle.speed(2000)
    turtle.goto(0, 0)
    turtle.begin_fill()
    turtle.left(140)
    turtle.forward(224)
    draw_circle()
    turtle.left(120)
    draw_circle()
    turtle.forward(224)
    turtle.end_fill()
    turtle.write("I Love you")
    time.sleep(2)
    turtle.up()
    turtle.goto(150, 20)
    turtle.color('black')
    turtle.write('纵然万劫不复,纵然相思入骨,我待你依旧如初!', font=("微软雅黑", 18, "normal"))
    time.sleep(2)
 
 
def draw_abc():
    turtle.fillcolor("pink")
    turtle.pencolor("red")
    turtle.pensize(10)
    turtle.speed(1)
    turtle.up()
    turtle.goto(0, -50)
    turtle.down()
    turtle.begin_fill()
    turtle.circle(45)
    turtle.end_fill()
    time.sleep(2)
 
 
def word():
    turtle.up()
    turtle.goto(-100, 200)
    turtle.color("red")
    turtle.pensize(4)
    #   turtle.down()
    turtle.write('宝贝,5.20快乐!', font=("隶书", 18, "bold"))
    time.sleep(10)
 
 
draw_love()
draw_abc()
word()

五、丘比特一键穿心

丘比特一箭穿心

程序代码:

import turtle as t
t.color('red','pink')
t.begin_fill()
t.width(5)
t.left(135)
t.fd(100)
t.right(180)
t.circle(50,-180)
t.left(90)
t.circle(50,-180)
t.right(180)
t.fd(100)
t.pu()
t.goto(50,-30)
t.pd()
t.right(90)
t.fd(100)
t.right(180)
t.circle(50,-180)
t.left(90)
t.circle(50,-180)
t.right(180)
t.fd(100)
t.end_fill()
t.hideturtle()
t.pu()
t.goto(250,-70)
t.pd()
t.color('black')
t.width(5)
t.left(70)
t.fd(50)
t.fd(-50)
t.left(70)
t.fd(50)
t.fd(-50)
t.left(145)
t.fd(20)
t.left(145)
t.fd(50)
t.fd(-50)
t.left(70)
t.fd(50)
t.fd(-50)
t.left(145)
t.fd(20)
t.left(145)
t.fd(50)
t.fd(-50)
t.left(70)
t.fd(50)
t.fd(-50)
t.left(145)
t.width(3)
t.fd(220)
t.right(90)
t.pu()
t.fd(10)
t.pd()
t.left(90)
t.circle(10,180)
t.circle(10,-90)
t.right(90)
t.fd(-10)
t.pu()
t.fd(90)
t.left(90)
t.fd(10)
t.left(90)
t.pd()
t.circle(10,180)
t.circle(10,-90)
t.left(90)
t.fd(100)
t.begin_fill()
t.left(30)
t.fd(15)
t.right(35)
t.fd(50)
t.right(150)
t.fd(50)
t.right(62)
t.fd(25)
t.end_fill()
t.done()

六、发射爱心小人

发射爱心小人

实现代码:

# 2.14
from turtle import *
from time import sleep
 
 
def go_to(x, y):
    up()
    goto(x, y)
    down()
 
 
def head(x, y, r):
    go_to(x, y)
    speed(1)
    circle(r)
    leg(x, y)
 
 
def leg(x, y):
    right(90)
    forward(180)
    right(30)
    forward(100)
    left(120)
    go_to(x, y - 180)
    forward(100)
    right(120)
    forward(100)
    left(120)
    hand(x, y)
 
 
def hand(x, y):
    go_to(x, y - 60)
    forward(100)
    left(60)
    forward(100)
    go_to(x, y - 90)
    right(60)
    forward(100)
    right(60)
    forward(100)
    left(60)
    eye(x, y)
 
 
def eye(x, y):
    go_to(x - 50, y + 130)
    right(90)
    forward(50)
    go_to(x + 40, y + 130)
    forward(50)
    left(90)
 
 
def big_Circle(size):
    speed(20)
    for i in range(150):
        forward(size)
        right(0.3)
 
 
def line(size):
    speed(1)
    forward(51 * size)
 
 
def small_Circle(size):
    speed(10)
    for i in range(210):
        forward(size)
        right(0.786)
 
 
def heart(x, y, size):
    go_to(x, y)
    left(150)
    begin_fill()
    line(size)
    big_Circle(size)
    small_Circle(size)
    left(120)
    small_Circle(size)
    big_Circle(size)
    line(size)
    end_fill()
 
 
def main():
    pensize(2)
    color('red', 'pink')
    head(-120, 100, 100)
    heart(250, -80, 1)
    go_to(200, -300)
    write("To: 送给智慧与美貌并存的小仙女!", move=True, align="left", font=("楷体", 20, "normal"))
    done()
 
main()

七、浪漫动态樱花树

动态樱花树

实现代码:

import turtle as T
import random
import time
 
# 画樱花的躯干(60,t)
def Tree(branch, t):
    time.sleep(0.0005)
    if branch > 3:
        if 8 <= branch <= 12:
            if random.randint(0, 2) == 0:
                t.color('snow')  # 白
            else:
                t.color('lightcoral')  # 淡珊瑚色
            t.pensize(branch / 3)
        elif branch < 8:
            if random.randint(0, 1) == 0:
                t.color('snow')
            else:
                t.color('lightcoral')  # 淡珊瑚色
            t.pensize(branch / 2)
        else:
            t.color('sienna')  # 赭(zhě)色
            t.pensize(branch / 10)  # 6
        t.forward(branch)
        a = 1.5 * random.random()
        t.right(20 * a)
        b = 1.5 * random.random()
        Tree(branch - 10 * b, t)
        t.left(40 * a)
        Tree(branch - 10 * b, t)
        t.right(20 * a)
        t.up()
        t.backward(branch)
        t.down()
 
# 掉落的花瓣
def Petal(m, t):
    for i in range(m):
        a = 200 - 400 * random.random()
        b = 10 - 20 * random.random()
        t.up()
        t.forward(b)
        t.left(90)
        t.forward(a)
        t.down()
        t.color('lightcoral')  # 淡珊瑚色
        t.circle(1)
        t.up()
        t.backward(a)
        t.right(90)
        t.backward(b)
 
# 绘图区域
t = T.Turtle()
# 画布大小
w = T.Screen()
t.hideturtle()  # 隐藏画笔
t.getscreen().tracer(5, 0)
w.screensize(bg='wheat')  # wheat小麦
t.left(90)
t.up()
t.backward(150)
t.down()
t.color('sienna')
 
# 画樱花的躯干
Tree(60, t)
# 掉落的花瓣
Petal(200, t)
w.exitonclick()

八、专属心形词云

词云

实现代码:

from wordcloud import WordCloud
import PIL.Image as image
import numpy as np
import jieba
 
 
# 分词
def trans_CN(text):
    # 接收分词的字符串
    word_list = jieba.cut(text)
    # 分词后在单独个体之间加上空格
    result = " ".join(word_list)
    return result
 
# 要读取的txt文本
with open("love.txt", encoding="utf-8") as fp:
    text = fp.read()
    # print(text)
    # 将读取的中文文档进行分词
    text = trans_CN(text)
    mask = np.array(image.open("love.png"))     #添加心形图片
    wordcloud = WordCloud(
        # 添加遮罩层
        mask=mask,
        # 生成中文字的字体,必须要加,不然看不到中文
        font_path="C:WindowsFontsSTXINGKA.TTF"
    ).generate(text)
    image_produce = wordcloud.to_image()
    image_produce.show()

九、女朋友画像字符画

> 字符画

实现代码:

from PIL
import Image, ImageDraw, ImageFont
def draw(pic, draw_text):
    img = cv2.imread(pic)
blank = Image.new("RGB", [img.shape[1],
    img.shape[0]
], "white")
drawObj = ImageDraw.Draw(blank)
n = 10
m = 9
font = ImageFont.truetype(font_path,
    size = m)
for i in range(0, img.shape[0], n):
    for j in range(0, img.shape[1], n):
    drawObj.text(
        [j, i],
        draw_text[int(j / n) % len(draw_text)],
        fill = (img[i][j][2], img[i][j][1],
            img[i][j][0]),
        font = font
    )
blank.save('img_' + pic)
draw('1.jpg', "我爱你")

 注:以上相关代码都不是小编写的,小编觉得他们的思路是很不错的,但是观感并不是那么的如意,所以小伙伴们要尝试这种方式的话建议在此基础上进行代码修改以争取更好的样式展现。

到此这篇python表白代码介绍的文章就介绍到这了,更多有趣的Python代码可以搜索W3Cschool以前的文章或继续浏览下面的相关文章。

3 人点赞