zoukankan      html  css  js  c++  java
  • 程序员-这有一份520表白秘笈送给你

    转眼又到了520表白节了,咱们程序员应该如何表白呢,接下来笔者就以亲自动笔给你们一份独家的表白秘笈。

    一、比心

    这个我之前介绍过母亲节的祝福方式https://blog.csdn.net/BEYONDMA/article/details/90137479,就是利用python的print函数去输出一个520的形状,以下程序可以运行在任何python版本,简单介绍其原理就是造一个能组成520形状的LIST,然后打印输出,具体代码如下:

    ncol=20
    nrow=10
    proposal=[0,1,2,3,4,5,9,17,1+1*ncol,8+1*ncol,10+1*ncol,16+1*ncol,18+1*ncol,1+2*ncol,11+2*ncol,15+2*ncol,19+2*ncol,1+3*ncol,12+3*ncol,15+3*ncol,19+3*ncol,2+4*ncol,12+4*ncol,15+4*ncol,19+4*ncol,3+5*ncol,11+5*ncol,15+5*ncol,19+5*ncol,4+6*ncol,10+6*ncol,15+6*ncol,19+6*ncol,3+7*ncol,9+7*ncol,15+7*ncol,19+7*ncol,2+8*ncol,8+8*ncol,16+8*ncol,18+8*ncol,1+9*ncol,8+9*ncol,9+9*ncol,10+9*ncol,11+9*ncol,12+9*ncol,17+9*ncol]
    proposalStr =''
    for i in range(1,ncol*nrow):
    if i in proposal:
    proposalStr=proposalStr+'*'
    else:
    proposalStr = proposalStr + ' '
    if i%20==0:
    proposalStr=proposalStr+' '
    print(proposalStr)



    二、制作照片墙

    我们还可以利用python的图像处理功能,来把家庭中的点点滋润做成照片墙,如果是使用WINDOWS的读者请参考https://blog.csdn.net/BEYONDMA/article/details/88381705搭建环境。具体代码如下,简述其原理与上面的类似,也是利用520形状的矩阵,来布署照片,代码如下:

    from PIL import Image
    import os
    path="F:/照片/2019/201901/pic"
    canvasImage=Image.new('RGBA',(2000,1000))
    ncol=20
    nrow=10
    proposal=[0,1,2,3,4,5,9,17,1+1*ncol,8+1*ncol,10+1*ncol,16+1*ncol,18+1*ncol,1+2*ncol,11+2*ncol,15+2*ncol,19+2*ncol,1+3*ncol,12+3*ncol,15+3*ncol,19+3*ncol,2+4*ncol,12+4*ncol,15+4*ncol,19+4*ncol,3+5*ncol,11+5*ncol,15+5*ncol,19+5*ncol,4+6*ncol,10+6*ncol,15+6*ncol,19+6*ncol,3+7*ncol,9+7*ncol,15+7*ncol,19+7*ncol,2+8*ncol,8+8*ncol,16+8*ncol,18+8*ncol,1+9*ncol,8+9*ncol,9+9*ncol,10+9*ncol,11+9*ncol,12+9*ncol,17+9*ncol]
    listPic=[]
    for i in os.walk(path):
    listPic.append(i)
    k=0
    for j in range(1, 200):
    if j in proposal:
    orgImage = Image.open(os.path.join(path,listPic[0][2][k]))
    print(orgImage)
    canvasRow = j % 20;
    canvasCol = int((j - canvasRow) / 20);
    print(canvasRow)
    print(canvasCol)
    print()
    orgImage = orgImage.resize((100, 100), Image.ANTIALIAS)
    canvasImage.paste(orgImage, (canvasRow * 100, canvasCol * 100))
    k=k+1
    canvasImage.save('F:/new.bmp')




    三、对话词云制作

    还可以用我们之前介绍的wordcloud制作一个词云来表达爱意,具体可以将恋人之间的微信对话通过邮件方式导出文本,然后制作成词云,这里只要将词云的背景设置为我下面的截图即可

    代码如下:

    from wordcloud import WordCloud
    import cv2
    import jieba
    import matplotlib.pyplot as plt

    with open('F:/520/520.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()


    怎么样这几个例子都不难,而且自己敲一下代码,还能学到不少python的知识,最后祝天下有情人终成眷属吧,也祝各位IT人都能在520这天找到自己的幸福,表白成功!

  • 相关阅读:
    BZOJ2527[Poi2011]Meteors——整体二分+树状数组
    [UOJ422][集训队作业2018]小Z的礼物——轮廓线DP+min-max容斥
    BZOJ4817[Sdoi2017]树点涂色——LCT+线段树
    BZOJ4269再见Xor——高斯消元解线性基
    BZOJ4241历史研究——回滚莫队
    [十二省联考2019]字符串问题——后缀自动机+parent树优化建图+拓扑序DP+倍增
    [十二省联考2019]异或粽子——可持久化trie树+堆
    [CF594E]Cutting the Line
    [CF1246F]Cursor Distance
    [CF1246E]To Make 1
  • 原文地址:https://www.cnblogs.com/hyhy904/p/10958449.html
Copyright © 2011-2022 走看看