作者自我介绍:大爽歌, 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)
其输出效果如下
有有有 情情情 人人人 终 成成成 眷 属 属
有 情 人 人 终 成 眷 属 属
有有有 情情情 人 人 终 成成成 眷 属属属
有 情 人 人 终 成 眷 属
有有有 情情情 人人人 终 成成成 眷 属
两两两 情情情 若若若 是 久久久 长 时 时
两 情 若 若 是 久 长 时 时
两两两 情情情 若 若 是 久久久 长 时时时
两 情 若 若 是 久 长 时
两两两 情情情 若若若 是 久久久 长 时
金金金 风风风 玉玉玉 露 永永永 相 随 随
金 风 玉 玉 露 永 相 随 随
金金金 风风风 玉 玉 露 永永永 相 随随随
金 风 玉 玉 露 永 相 随
金金金 风风风 玉玉玉 露 永永永 相 随