当前位置 博文首页 > itbig的博客:??Python制作表白小程序,七夕能不能脱单就全靠它

    itbig的博客:??Python制作表白小程序,七夕能不能脱单就全靠它

    作者:[db:作者] 时间:2021-08-14 12:01

    眼看七夕就要来了,我已经预感到我那天会忙的不可开交。因为我早上要卖花,晚上要卖TT,凌晨我还得蹲酒店门口卖yao,顿时感觉生活好艰辛啊。

    在这里插入图片描述

    虽然有点小丢人,但是我一点也不担心,因为我能碰到同行的几率很低,毕竟程序员作为单身狗最多的职业,基本不会成为我七夕那天的顾客的啦!

    在这里插入图片描述

    其实没有女朋友是很幸福的,不像我,还要靠七夕兼职来养活我的女朋友,唉,人生呐!

    在这里插入图片描述

    为了帮助大家脱单,也是为了大家都能成为我的顾客,增加我的收入,下面我就给大家分享几个Python表白的小程序,附上源代码。能不能脱单,就看它了!


    开发工具:Pycham

    使用的库:Turtle


    第一个、画个表白的桃心

    效果:
    在这里插入图片描述

    代码:

    # -*- coding:utf-8 -*-
    import turtle
    import time
    
    
    # 爱心的头部
    def LittleHeart():
        for i in range(200):
            turtle.right(1)
            turtle.forward(2)
    
    
    # 这里输入要表白的内容,默认I Love you
    love = input('输入表白内容,默认为"I Love you": ')
    # 这里输入对方名字,没有则不执行
    me = input('输入对方的姓名或者昵称: ')
    if love == '':
        love = 'I Love you'
        
    # 设置窗口的大小
    turtle.setup(width=800, height=500)
    
    # 设置颜色
    turtle.color('red', 'pink')
    
    # 设置笔粗细
    turtle.pensize(5)
    
    # 设置速度
    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 time
    
    
    # 清屏函数
    def clear_all():
        turtle.penup()
        turtle.goto(0, 0)
        turtle.color('white')
        turtle.pensize(800)
        turtle.pendown()
        turtle.setheading(0)
        turtle.fd(300)
        turtle.bk(600)
    
    
    # 重定位海龟的位置
    def go_to(x, y, state):
        turtle.pendown() if state else turtle.penup()
        turtle.goto(x, y)
    
    
    # 画线
    # state为真时海龟回到原点,为假时不回到原来的出发点
    def draw_line(length, angle, state):
        turtle.pensize(1)
        turtle.pendown()
        turtle.setheading(angle)
        turtle.fd(length)
        turtle.bk(length) if state else turtle.penup()
        turtle.penup()
    
    
    # 画箭羽
    def draw_feather(size):
        angle = 30  # 箭的倾角
        feather_num = size // 6  # 羽毛的数量
        feather_length = size // 3  # 羽毛的长度
        feather_gap = size // 10  # 羽毛的间隔
        for i in range(feather_num):
            draw_line(feather_gap, angle + 180, False)  # 箭柄,不折返
            draw_line(feather_length, angle + 145, True)  # 羽翼,要折返
        draw_line(feather_length, angle + 145, False)
        draw_line(feather_num * feather_gap, angle, False)
        draw_line(feather_length, angle + 145 + 180, False)
        for i in range(feather_num):
            draw_line(feather_gap, angle + 180, False)  # 箭柄,不折返
            draw_line(feather_length, angle - 145, True)  # 羽翼,要折返
        draw_line(feather_length, angle - 145, False)
        draw_line(feather_num * feather_gap, angle, False)
        draw_line(feather_length, angle - 145 + 180, False)
    
    
    # 画爱心
    def draw_heart(size):
        turtle.color('red', 'pink')
        turtle.pensize(2)
        turtle.pendown()
        turtle.setheading(150)
        turtle.begin_fill()
        turtle.fd(size)
        turtle.circle(size * -3.745, 45)
        turtle.circle(size * -1.431, 165)
        turtle.left(120)
        turtle.circle(size * -1.431, 165)
        turtle.circle(size * -3.745, 45)
        turtle.fd(size)
        turtle.end_fill()
    
    
    # 画箭
    def draw_arrow(size):
        angle = 30
        turtle.color('black')
        draw_feather(size)
        turtle.pensize(4)
        turtle.setheading(angle)
        turtle.pendown()
        turtle.fd(size * 2)
    
    
    # 一箭穿心
    # 箭的头没有画出来,而是用海龟来代替
    def arrow_heart(x, y, size):
        go_to(x, y, False)
        draw_heart(size * 1.15)
        turtle.setheading(-150)
        turtle.penup()
        turtle.fd(size * 2.2)
        draw_heart(size)
        turtle.penup()
        turtle.setheading(150)
        turtle.fd(size * 2.2)
        draw_arrow(size)
    
    
    # 画出发射爱心的小人
    def draw_people(x, y):
        turtle.penup()
        turtle.goto(x, y)
        turtle.pendown()
        turtle.pensize(2)
        turtle.color('black')
        turtle.setheading(0)
        turtle.circle(60, 360)
        turtle.penup()
        turtle.setheading(90)
        turtle.fd(75)
        turtle