字符串切片和取值有【空格】【画爱心】

  1. 字符串和取值之间有空格不会报错
[('1234' [(x - y) % len('abcd')] if ...

res = '1234'    [1]  # 2
  1. 打印爱心
# 一句话【极力不推荐,可读性太差】
print('
'.join(
	[' '.join(
		[('1234' [(x - y) % len('abcd')] if ((x * 0.1) **2 + (y * 0.1) **2 - 1) **3 - (x * 0.1) **2 * (y * 0.1) **3 >= 0 else ' ')
 		for x in range( - 30, 30)]) 
	for y in range(15, -15, -1)]))



# 正常
allChar = []
for y in range(15, -15, -1):
    lst = []
    lst_con = ''
    for x in range(-30, 30):
        formula = ((x * 0.1) ** 2 + (y * 0.1) ** 2 - 1) ** 3 - (x * 0.1) ** 2 * (y * 0.1) ** 3
        if formula >= 0:
            # lst_con = '1'
            lst_con = '1234'[(x - y) % len('1234')]
        else:
            lst_con = ' '
        lst.append(lst_con)
    allChar.append(' '.join(lst))

print('
'.join(allChar))


#高级
https://zhuanlan.zhihu.com/p/85804612
# 从 ' I love U' 里挑字符出来拼行. 为毛 x-y ? 只为了斜一点, 但要求是保证它的增速为 1 . 你用 x 也行 但画出来就是耿直的 I love U了

l2=[]
#  将纵向每个字符当作 y 坐标的刻度
for y in range(15,-15,-1):
    l3 = []
    #  将横向每个字符当作 x 坐标的刻度
    for x in range(-30,30):
        # 如果 x,y 点在心形内,则将一个字符加入到行,否则加入空字符
        l3.append((' I love U'[(x-y)%9]if((x*0.05)**2+(y*0.1)**2-1)**3-(x*0.05)**2*(y*0.1)**3<=0 else' '))
    l2.append(''.join(l3))
l1 ='
'.join(l2) 

for i in l1:
    print("33[91m"+i,end="",flush=True) 
原文地址:https://www.cnblogs.com/amize/p/15227870.html