Python3 利用心形线函数打印心形
思路
将字符串分割成列表
嵌套两个 for 循环,“绘制”出直角坐标系网格
计算心形函数,将函数内(结果<=0)的部分填充字符,函数外填充空格
逐行追加到列表中
打印输出
心形函数(心脏线)
\[ (x^2+y^2-1)^3-x^2y^3=0 \]
代码实现
1 | sentence = 'Cardioid' |
简化代码
利用 Python 的各种简写和特性对这段代码进行压缩
1 | print('\n'.join([''.join([('Cardioid'[(x-y) % 8] if((x*0.045)**2+(y*0.1)**2-1)**3-(x*0.045)**2*(y*0.1)**3 <= 0 else ' ') for x in range(-30, 30)]) for y in range(15, -15, -1)])) |