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这天找到自己的幸福,表白成功!

  • 相关阅读:
    JavaScript 类型转换 Type Convertion
    JavaScript 对象 Object
    Git失误操作导致文件冲突、路径错误
    Swift 3.0统计缓存并清理-----(斯威夫特3.0 坑爹之获取文件大小)
    iOS ——屏幕截图
    iOS 控件设置虚线
    Swift_单例的打开方式
    第三方接入小记
    图片自定义圆角
    自定义搜索框-输入框光标不贴边
  • 原文地址:https://www.cnblogs.com/hyhy904/p/10958449.html
Copyright © 2011-2022 走看看