当前位置 博文首页 > Python制作七夕比心表白代码详解

    Python制作七夕比心表白代码详解

    作者:小妮浅浅 时间:2021-09-18 17:49

    每到各种节日,不少小伙伴都会遇到这样一个世纪问题——怎么给心仪的女生/女朋友/老婆一个与众不同的节日惊喜。

    这不马上就又到七夕了嘛,我们可以尝试用python给女朋友比心表白!

    下面就带大家来领略一下python表白的方式,感受一下IT人的浪漫。

    Turtle基本参数

    python的强大在于它有许多的强大的库,turtle是其中可以交互式的绘画的模块。也是很多提升初学者学习python乐趣的秘密法宝!

    作为一个艺术白痴,想要画一幅画可能很困难,但是利用python的turtle库,只需要几行代码你就能实现绘画。

    turtle是python自带的一个库,直接调用就可以了。

    from turtle import *

    海龟画图

    不过为了节省工作量和方便代码的阅读,我们可以创建一些函数,这样就不用把很多基本代码写很多遍了。

    def heart(x, y, size):
        go_to(x, y)
        left(150)
        begin_fill()
        forward(51*size)
        ring(150,size,0.3,'right')
        ring(210,size,0.786,'right')
        left(120)
        ring(210,size,0.786,'right')
        ring(150,size,0.3,'right')
        forward(51*size)
        end_fill()

    成功画了一个心形,并填充了颜色。

    剩下的我们就可以利用直线与曲线来依次绘制小人的头部、手臂和身体等。

    def people():
     
        # 头部
        color('black')
        go_to(-228, 72)
        pensize(3)
        left(150)
        ring(350, 1, 0.8, "right")
     
        # 手臂
        left(150)
        forward(70)
        left(90)
        forward(10)
        ring(200, 0.1, 0.9, 'right')
        forward(10)
        left(90)
        forward(20)
        ring(200, 0.1, 0.9, 'right')
        forward(10)
        left(90)
        ring(200, 0.2, 0.9, 'right')
        left(100)
        forward(80)

    当然,除了添加心形,还可以添加一些文字。如果大家想自定义文字,直接更改参数中的文字520就好。

    # 添加文字
    go_to(-39, 69)
    write("520",, font=("黑体", 30, "normal"))

    最终成果

    实例扩展:

    from wordcloud import WordCloud
    import cv2
    import jieba
    import matplotlib.pyplot as plt
     
    #以下是你表白的词语
    with open('F:/qixi/qixi.txt', 'r') as f:
    text = f.read()
    cut_text = " ".join(jieba.cut(text))
    print(cut_text) 
    #以下用咱们刚刚另存为的图就可以
    color_mask = cv2.imread("F:/520/mask.jpg")
    
    520cloud = WordCloud(
        font_path=" C:\\Windows\\Fonts\\simkai.ttf",
        background_color='white',
        mask=color_mask,
        max_words=100,
        max_font_size=40
    )
    520wCloud = 520cloud.generate(cut_text)
    520wCloud.to_file('F:/520/cloud.jpg')
    plt.imshow(520wCloud, interpolation='bilinear')
    plt.axis('off')
    plt.show()
    jsjbwy
    下一篇:没有了