python从入门到撩妹 2 —— 30行代码实现520小彩蛋

作者自我介绍:大爽歌, b站小UP主直播编程+红警三python1对1辅导老师

本文对应视频版本:
520小彩蛋 python32行代码实现 —— python从入门到撩妹-2

1 彩蛋效果展示:

网页上展示的效果可能不齐,
但是python上的输出是对齐的。
可能是不同平台的空格宽度不同的缘故

祝祝祝 脱脱脱 单单单
祝     脱 单 单
祝祝祝 脱脱脱 单 单
  祝 脱   单 单
祝祝祝 脱脱脱 单单单
我我我 爱爱爱 你你你
我     爱 你 你
我我我 爱爱爱 你 你
  我 爱   你 你
我我我 爱爱爱 你你你
爱爱爱 永永永 恒恒恒
爱     永 恒 恒
爱爱爱 永永永 恒 恒
  爱 永   恒 恒
爱爱爱 永永永 恒恒恒

即让三个中文以520的像素格式输出出来

2 代码如下

LINES1 = """
000 111 222
0     1 2 2
000 111 2 2
  0 1   2 2
000 111 222
"""


def happy520(words, lines, num=3):
    for i in range(num):
        lines = lines.replace(str(i), words[i])

    lines = lines.replace(" ", chr(12288))
    print(lines)


words1 = "祝脱单"
happy520(words1, LINES1)

words1 = "我爱你"
happy520(words1, LINES1)

words1 = "爱永恒"
happy520(words1, LINES1)

说明:

  • 第14行代码lines = lines.replace(" ", chr(12288))
    是将英文的空白换成中文的空白,chr(12288)是中文的空白
    因为英文空白和中文宽度不同,无法对齐。

3 拓展

实际上面的happy520不仅可以让三个中文以520的像素格式输出出来。
还可以用自定义的像素格式,输出自定义的个数的中文。

比如下面代码(需要有上文的happy520的代码)
就可以以5201314的格式输出7个中文

LINES2 = """
000 111 222  3  444  5  6 6
0     1 2 2  3    4  5  6 6
000 111 2 2  3  444  5  666
  0 1   2 2  3    4  5    6
000 111 222  3  444  5    6
"""

words1 = "有情人终成眷属"
happy520(words1, LINES2, 7)
two = ["两情若是久长时", "金风玉露永相随"]
for w in two:
    happy520(w, LINES2, 7)

其输出效果如下

有有有 情情情 人人人  终  成成成  眷  属 属
有     情 人 人  终    成  眷  属 属
有有有 情情情 人 人  终  成成成  眷  属属属
  有 情   人 人  终    成  眷    属
有有有 情情情 人人人  终  成成成  眷    属
两两两 情情情 若若若  是  久久久  长  时 时
两     情 若 若  是    久  长  时 时
两两两 情情情 若 若  是  久久久  长  时时时
  两 情   若 若  是    久  长    时
两两两 情情情 若若若  是  久久久  长    时
金金金 风风风 玉玉玉  露  永永永  相  随 随
金     风 玉 玉  露    永  相  随 随
金金金 风风风 玉 玉  露  永永永  相  随随随
  金 风   玉 玉  露    永  相    随
金金金 风风风 玉玉玉  露  永永永  相    随
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值