1.直接上效果图

print('\n'.join([''.join([('Love' [(x - y) % len('Love')]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

python 一行代码打印心形详解_python心形

 

2.接下来详解一下

怎么画心形,这个公式可以到算法的网站上去找

python 一行代码打印心形详解_python心形_02

即心形实现公式是 :((x * 0.05) **2 + (y * 0.1) **2 - 1) **3 - (x * 0.05) **2 * (y * 0.1) **3  小于0打印为空格 <= 0 else ' '       #x * 0.05这个是横向心形组成比例大小,y同理纵向

love取值用字符列表:

('Love' [(x - y) % len('Love')

心形画布大小:

for x in range( - 30, 30)]) for y in range(30, -30, -1)])