tft每日頭條

 > 生活

 > python手機版表白代碼怎麼用

python手機版表白代碼怎麼用

生活 更新时间:2024-12-23 19:25:16

python手機版表白代碼怎麼用(小夥用Python寫出三款表白程序)1

想要學習python。關注小編頭條号,私信【學習資料】,即可免費領取一整套系統的闆Python學習教程!

一行python的表白

首先祭出絕招,用1行python表白:

print('\n'.join([''.join([('I LOVE U'[(x-y) % 8] if ( (x*0.05)**2 (y*0.1)**2 -1)**3 - (x*0.05)**2 * (y*0.1)**3 <=0 else ' ') for x in range(-30,30)]) for y in range(15, -15, -1)]))

效果如下:

UI LOVE LOVE UI L OVE UI LOVE UI LO UI LOVE UI LOVE U LOVE UI LOVE UI LOVE UI LOVE UI LOVE UI L LOVE UI LOVE UI LOVE UI LOVE UI LOVE UI LOV LOVE UI LOVE UI LOVE UI LOVE UI LOVE UI LOVE OVE UI LOVE UI LOVE UI LOVE UI LOVE UI LOVE U VE UI LOVE UI LOVE UI LOVE UI LOVE UI LOVE UI E UI LOVE UI LOVE UI LOVE UI LOVE UI LOVE UI UI LOVE UI LOVE UI LOVE UI LOVE UI LOVE UI L UI LOVE UI LOVE UI LOVE UI LOVE UI LOVE UI LO LOVE UI LOVE UI LOVE UI LOVE UI LOVE UI LO OVE UI LOVE UI LOVE UI LOVE UI LOVE UI LO VE UI LOVE UI LOVE UI LOVE UI LOVE UI LOV UI LOVE UI LOVE UI LOVE UI LOVE UI LO LOVE UI LOVE UI LOVE UI LOVE UI LO OVE UI LOVE UI LOVE UI LOVE UI LO UI LOVE UI LOVE UI LOVE UI L LOVE UI LOVE UI LOVE UI VE UI LOVE UI LOVE UI I LOVE UI LOVE VE UI LOV I L L

原理大概是:

words, line = "I LOVE U", [] for y in range(15, -15, -1): line_c = [] letters = '' for x in range(-30, 30): expression = ((x*0.05)**2 (y*0.1)**2-1)**3-(x*0.05)**2*(y*0.1)**3 if expression <= 0: letters = words[(x-y) % len(words)] else: letters = ' ' line_c.append(letters) line = line_c print('\n'.join(line))

進一步可以制作成動畫:

def heart_text_animation(words="I LOVE U"): import time for c in words.split(): line = [] for y in range(15, -15, -1): line_c = [] letters = '' for x in range(-30, 30): expression = ((x*0.05)**2 (y*0.1)**2-1)**3-(x*0.05)**2*(y*0.1)**3 if expression <= 0: letters = c[(x-y) % len(c)] else: letters = ' ' line_c.append(letters) line = line_c print('\n'.join(line)) time.sleep(1)

照片牆

依賴: pip install Image clize

使用: python picture_wall.py --help

Usage: picture_wall.py [OPTIONS] [text...] 生成照片牆 Arguments: text... Text of picture wall, if not defined this will generage a rectangle picture wall Options: -s, --font-size=INT font size of a clear value (default: 20) -e, --edge-len=INT sub picture's egde length (default: 50) -w, --wall-width=INT picture number of rectangle width (default: 20) -l, --wall-length=INT picture number of rectangle length (default: 10) -d, --pic-dir=STR picture's path (default: ./img) -o, --out-dir=STR output dir (default: ./out/) -p, --font-path=STR font path (default: ./demo.ttf) -m, --method=STR decrator method, now accept 'alpha', 'size' (default: alpha) Other actions: -h, --help Show the help

for example:

./picture_wall.py I Love U -s 30 -e 10

python手機版表白代碼怎麼用(小夥用Python寫出三款表白程序)2

./picture_wall.py 我愛你 -s 30 -e 10

python手機版表白代碼怎麼用(小夥用Python寫出三款表白程序)3

如果指定為相冊文件夾的話,将得到如下效果(文件夾下圖片太多而且太大的話會比較慢):

python手機版表白代碼怎麼用(小夥用Python寫出三款表白程序)4

也可以選擇尺寸的方式調整子圖,例如: python picture_wall.py 1314 -m size

python手機版表白代碼怎麼用(小夥用Python寫出三款表白程序)5

TODO

  • 子照片的處理方式有待提升,目前采用的隻是根據字體像素透明度控制透明度,還可以抽象出來讓用戶選擇控制方式~比如:
  • 根據字體像素透明度控制子圖形狀
  • 根據字體像素透明度控制子圖顔色亮度
  • 或者直接采用圓形裁剪子圖

愛心情書

依賴: pip install jieba numpy pandas matplotlib wordcloud scipy wordcloud

使用: python heart_cloud_word.py --help

Usage: ./heart_cloud_word.py [OPTIONS] [par...] 生成文字雲 Arguments: par... Options: -t, --text-file=STR text file that contain all you word (default: ./data/love_letter.txt) -s, --stop-file=STR the stop word which can't be considered (default: ./data/stopwords.txt) -c, --color-img=STR the color map img (default: ./data/pink.jpg) -m, --mask-file=STR the mask img for the word -o, --out-file=STR output file path which should with sufix of png/jpg... (default: ./out/word_cloud.png) -p, --font-path=STR font path (default: ./demo.ttf) Other actions: -h, --help Show the help

for example:

./heart_cloud_word.py

python手機版表白代碼怎麼用(小夥用Python寫出三款表白程序)6

TODO

  • 增加背景照片和注釋文字形成最終類似下圖的效果

python手機版表白代碼怎麼用(小夥用Python寫出三款表白程序)7

想要學習Python。關注小編頭條号,私信【學習資料】,即可免費領取一整套系統的闆Python學習教程!

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关生活资讯推荐

热门生活资讯推荐

网友关注

Copyright 2023-2024 - www.tftnews.com All Rights Reserved