text = "I LOVE U" # 将该字符串以心形文字打印出来
for char in text.split(): # 分割字符串
allChar = []
for y in range(12, -12, -1): # 将纵向每个字符当作y轴的刻度
lst = []
lst_con = ''
for x in range(-70, 90): # 将横向每个字符当作x轴的刻度
formula = ((x * 0.03) ** 2 + (y * 0.1) ** 2 - 1) ** 3 - (x * 0.03) ** 2 * (
y * 0.1) ** 3 # (xx+yy-1)^3-x^2 * y^3=0 心形线方程,进行了x,y轴的缩放
if formula >= 0: # 当formula>=0时,字符串会出现心形线的外部
lst_con += char[x % len(char)] # 随机挑选字符加入
else:
lst_con += ' ' # 选择在心形内填充的字符,这里选择空格
lst.append(lst_con)
allChar += lst
# print('\t'.join(allChar))
print(allChar) # 打印出的结果是列表格式的,分行拼接显示心形
用python打印心形表白文字(附详解)
于 2022-05-09 18:55:53 首次发布