一条python 语句绘制浪漫的心形图案-----附解释(七夕专供)
2021/8/15 11:05:47
本文主要是介绍一条python 语句绘制浪漫的心形图案-----附解释(七夕专供),对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
七夕也要好好学习
- 心形曲线函数1(一条python语句)
( x 2 + y 2 − 1 ) 3 = x 2 y 3 (x^2+y^2-1)^3=x^2y^3 (x2+y2−1)3=x2y3
图像如下:
偶函数,关于y轴对称
##一条python语句实现爱心形状绘制 print('\n'.join([''.join( [('Love'[(x - y) % 4] 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 range(15, -15, -1)]))
效果如下:
veLoveLov veLoveLov eLoveLoveLoveLove eLoveLoveLoveLove veLoveLoveLoveLoveLoveLoveLoveLoveLoveLov veLoveLoveLoveLoveLoveLoveLoveLoveLoveLoveL veLoveLoveLoveLoveLoveLoveLoveLoveLoveLoveLov eLoveLoveLoveLoveLoveLoveLoveLoveLoveLoveLove LoveLoveLoveLoveLoveLoveLoveLoveLoveLoveLoveL oveLoveLoveLoveLoveLoveLoveLoveLoveLoveLoveLo veLoveLoveLoveLoveLoveLoveLoveLoveLoveLoveLov eLoveLoveLoveLoveLoveLoveLoveLoveLoveLoveLove oveLoveLoveLoveLoveLoveLoveLoveLoveLoveLove eLoveLoveLoveLoveLoveLoveLoveLoveLoveLove LoveLoveLoveLoveLoveLoveLoveLoveLoveLoveL eLoveLoveLoveLoveLoveLoveLoveLoveLove oveLoveLoveLoveLoveLoveLoveLoveLove eLoveLoveLoveLoveLoveLoveLoveLove veLoveLoveLoveLoveLoveLoveLov oveLoveLoveLoveLoveLoveLo LoveLoveLoveLoveLoveL LoveLoveLoveLov LoveLoveL Lov v
将表达式转化为循环结构,代码如下:
for y in range(15, -15, -1):#表示从15- -15每隔一个单位取一次值, ls=[] for x in range(-30, 30): tp=((x*0.05)**2+(y*0.1)**2-1)**3-(x*0.05)**2*(y*0.1)**3 if tp<=0: ##点在图像内部 a=''.join('Love'[(x - y) % 4]) #加字母 else: ##点在图像外部 a=''.join(' ') #加空格 ls.append(a) s=''.join(ls) print(s)
我们可以简单明了的
veLoveLov veLoveLov eLoveLoveLoveLove eLoveLoveLoveLove veLoveLoveLoveLoveLoveLoveLoveLoveLoveLov veLoveLoveLoveLoveLoveLoveLoveLoveLoveLoveL veLoveLoveLoveLoveLoveLoveLoveLoveLoveLoveLov eLoveLoveLoveLoveLoveLoveLoveLoveLoveLoveLove LoveLoveLoveLoveLoveLoveLoveLoveLoveLoveLoveL oveLoveLoveLoveLoveLoveLoveLoveLoveLoveLoveLo veLoveLoveLoveLoveLoveLoveLoveLoveLoveLoveLov eLoveLoveLoveLoveLoveLoveLoveLoveLoveLoveLove oveLoveLoveLoveLoveLoveLoveLoveLoveLoveLove eLoveLoveLoveLoveLoveLoveLoveLoveLoveLove LoveLoveLoveLoveLoveLoveLoveLoveLoveLoveL eLoveLoveLoveLoveLoveLoveLoveLoveLove oveLoveLoveLoveLoveLoveLoveLoveLove eLoveLoveLoveLoveLoveLoveLoveLove veLoveLoveLoveLoveLoveLoveLov oveLoveLoveLoveLoveLoveLo LoveLoveLoveLoveLoveL LoveLoveLoveLov LoveLoveL Lov v
其本质上是在一个由指定字符组成的字符串中按照规则绘制一个满足函数约束的图案。
tp=[''.join(['love'[(x-y)%4] for x in range(-30,30)]) for y in range(15,-15,-1)] # 60*30的画布上画出一个爱心的形状. print('\n'.join(tp))
elovelovelovelovelovelovelovelovelovelovelovelovelovelovelov lovelovelovelovelovelovelovelovelovelovelovelovelovelovelove ovelovelovelovelovelovelovelovelovelovelovelovelovelovelovel velovelovelovelovelovelovelovelovelovelovelovelovelovelovelo elovelovelovelovelovelovelovelovelovelovelovelovelovelovelov lovelovelovelovelovelovelovelovelovelovelovelovelovelovelove ovelovelovelovelovelovelovelovelovelovelovelovelovelovelovel velovelovelovelovelovelovelovelovelovelovelovelovelovelovelo elovelovelovelovelovelovelovelovelovelovelovelovelovelovelov lovelovelovelovelovelovelovelovelovelovelovelovelovelovelove ovelovelovelovelovelovelovelovelovelovelovelovelovelovelovel velovelovelovelovelovelovelovelovelovelovelovelovelovelovelo elovelovelovelovelovelovelovelovelovelovelovelovelovelovelov lovelovelovelovelovelovelovelovelovelovelovelovelovelovelove ovelovelovelovelovelovelovelovelovelovelovelovelovelovelovel velovelovelovelovelovelovelovelovelovelovelovelovelovelovelo elovelovelovelovelovelovelovelovelovelovelovelovelovelovelov lovelovelovelovelovelovelovelovelovelovelovelovelovelovelove ovelovelovelovelovelovelovelovelovelovelovelovelovelovelovel velovelovelovelovelovelovelovelovelovelovelovelovelovelovelo elovelovelovelovelovelovelovelovelovelovelovelovelovelovelov lovelovelovelovelovelovelovelovelovelovelovelovelovelovelove ovelovelovelovelovelovelovelovelovelovelovelovelovelovelovel velovelovelovelovelovelovelovelovelovelovelovelovelovelovelo elovelovelovelovelovelovelovelovelovelovelovelovelovelovelov lovelovelovelovelovelovelovelovelovelovelovelovelovelovelove ovelovelovelovelovelovelovelovelovelovelovelovelovelovelovel velovelovelovelovelovelovelovelovelovelovelovelovelovelovelo elovelovelovelovelovelovelovelovelovelovelovelovelovelovelov lovelovelovelovelovelovelovelovelovelovelovelovelovelovelove
列表表达式解释
python列表表达式的正确书写格式。
首先是单层的:
[ fun(i) 1 for i in * 2]
然后是多层的:
[ fun(i,j) for i in * for j in * ]
条件赋值语句 value = a if condition else b
tp=[''.join( [('Love'[(x - y) % 4] 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 range(15, -15, -1)] tp
[' ', ' ', ' ', ' veLoveLov veLoveLov ', ' eLoveLoveLoveLove eLoveLoveLoveLove ', ' veLoveLoveLoveLoveLoveLoveLoveLoveLoveLov ', ' veLoveLoveLoveLoveLoveLoveLoveLoveLoveLoveL ', ' veLoveLoveLoveLoveLoveLoveLoveLoveLoveLoveLov ', ' eLoveLoveLoveLoveLoveLoveLoveLoveLoveLoveLove ', ' LoveLoveLoveLoveLoveLoveLoveLoveLoveLoveLoveL ', ' oveLoveLoveLoveLoveLoveLoveLoveLoveLoveLoveLo ', ' veLoveLoveLoveLoveLoveLoveLoveLoveLoveLoveLov ', ' eLoveLoveLoveLoveLoveLoveLoveLoveLoveLoveLove ', ' oveLoveLoveLoveLoveLoveLoveLoveLoveLoveLove ', ' eLoveLoveLoveLoveLoveLoveLoveLoveLoveLove ', ' LoveLoveLoveLoveLoveLoveLoveLoveLoveLoveL ', ' eLoveLoveLoveLoveLoveLoveLoveLoveLove ', ' oveLoveLoveLoveLoveLoveLoveLoveLove ', ' eLoveLoveLoveLoveLoveLoveLoveLove ', ' veLoveLoveLoveLoveLoveLoveLov ', ' oveLoveLoveLoveLoveLoveLo ', ' LoveLoveLoveLoveLoveL ', ' LoveLoveLoveLov ', ' LoveLoveL ', ' Lov ', ' v ', ' ', ' ', ' ', ' ']
小结
列表推导式 [* for i in *]
条件赋值语句 value = a if condition else b
print('\n'.join([''.join( [('Love'[(x - y) % 4] 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 range(15, -15, -1)]))
veLoveLov veLoveLov eLoveLoveLoveLove eLoveLoveLoveLove veLoveLoveLoveLoveLoveLoveLoveLoveLoveLov veLoveLoveLoveLoveLoveLoveLoveLoveLoveLoveL veLoveLoveLoveLoveLoveLoveLoveLoveLoveLoveLov eLoveLoveLoveLoveLoveLoveLoveLoveLoveLoveLove LoveLoveLoveLoveLoveLoveLoveLoveLoveLoveLoveL oveLoveLoveLoveLoveLoveLoveLoveLoveLoveLoveLo veLoveLoveLoveLoveLoveLoveLoveLoveLoveLoveLov eLoveLoveLoveLoveLoveLoveLoveLoveLoveLoveLove oveLoveLoveLoveLoveLoveLoveLoveLoveLoveLove eLoveLoveLoveLoveLoveLoveLoveLoveLoveLove LoveLoveLoveLoveLoveLoveLoveLoveLoveLoveL eLoveLoveLoveLoveLoveLoveLoveLoveLove oveLoveLoveLoveLoveLoveLoveLoveLove eLoveLoveLoveLoveLoveLoveLoveLove veLoveLoveLoveLoveLoveLoveLov oveLoveLoveLoveLoveLoveLo LoveLoveLoveLoveLoveL LoveLoveLoveLov LoveLoveL Lov v
from matplotlib import pyplot as plt import numpy as np t = np.linspace(0,6,100) x = 16*np.sin(t)**3 y = 13*np.cos(t) -5*np.cos(2*t)-2*np.cos(3*t)-np.cos(4*t) fig = plt.figure(figsize=(5,5),dpi=100) plt.scatter(x,y) # plt.axis("off") plt.show()
fun为映射函数,其输入为后面 i 指代的内容。 ↩︎
*代表的是一个可迭代对象(列表等等) ↩︎
这篇关于一条python 语句绘制浪漫的心形图案-----附解释(七夕专供)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-26Python基础编程
- 2024-11-25Python编程基础:变量与类型
- 2024-11-25Python编程基础与实践
- 2024-11-24Python编程基础详解
- 2024-11-21Python编程基础教程
- 2024-11-20Python编程基础与实践
- 2024-11-20Python编程基础与高级应用
- 2024-11-19Python 基础编程教程
- 2024-11-19Python基础入门教程
- 2024-11-17在FastAPI项目中添加一个生产级别的数据库——本地环境搭建指南