python终端绘制心形图形

python终端绘制心形图形_第1张图片
xin.png

今天情人节,明天又过年,不想做正事,然后比较闲,网上查了别人写心形图形。自己改了下。把饱满的心形弄了三个空白部分,可用于增加名字,或者其它什么的。有颜色,但只能在linux平台上显示

a2 = []
for y in range(15,-15,-1):
    a1 = []
    for x in range(-30,30):
        if -0.28<=((x*0.05)**2+(y*0.1)**2-1)**3-(x*0.05)**2*(y*0.1)**3<=-0.0009:
            a1.append('\033[1;31;40mo\033[0m')
        elif (x == -15) and (y == (10 or 9)):
            a1.append('\b\033[1;34;40m羲\033[0m')
        elif (x == -16) and (y == (9 or 8)):
            a1.append('\b\033[1;34;40m乎')
        elif (x == -17) and (y == (8 or 7)):
            a1.append('\b\033[1;34;40m嗯')
        elif (x == 14) and (y == (10 or 9)):
            a1.append('\b\033[1;32;40m羲')
        elif (x == 15) and (y == (9 or 8)):
            a1.append('\b\033[1;32;40m乎')
        elif (x == 16) and (y == (8 or 7)):
            a1.append('\b\033[1;32;40m嗯')
        elif (x==0) and (y == 2):
            a1.append('\033[1;35;40m相')
        elif (x==0) and (y == 1):
            a1.append('\033[1;35;40m爱')
        elif (x==0) and (y == 0):
            a1.append('\033[1;35;40m一')
        elif (x==0) and (y == -1):
            a1.append('\033[1;35;40m生')         
        else:
            a1.append(' ')
    a2.append(''.join(a1))

b = '\n'.join(a2)
print(b)

python终端绘制心形图形_第2张图片
x.png

代码中的两个循环相当于写一个60*30的矩阵,如上图,根据不同x,y,带入心形公式,进行比较,如果符合条件就填充字符,我用的是 'o'。至于空白区的文字,我是用笨方法得来的,哈哈哈。应该可以根据公式得出来的,但是数学不好~~~。加了颜色代码,这个颜色代码在linux平台上可以显示,Linux,window的都可以在网上查到。



其他文章
pathlib路径操作
python制作字符表格
python爬取必应学术
python控制台动画

你可能感兴趣的:(python终端绘制心形图形)