文章目录

  • 七夕也要好好学习
  • 列表表达式解释
  • 小结
    • 列表推导式 [* for i in *]
    • 条件赋值语句 value = a if condition else b

七夕也要好好学习

  • 心形曲线函数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)**3if 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)**3y = 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()

  1. fun为映射函数,其输入为后面 i 指代的内容。 ↩︎

  2. *代表的是一个可迭代对象(列表等等) ↩︎

一条python 语句绘制浪漫的心形图案-----附解释(七夕专供)相关推荐

  1. Python+matplotlib绘制散点图模拟心型图案

    推荐教材: <Python数据分析.挖掘与可视化>(慕课版)(ISBN:978-7-115-52361-7),董付国,人民邮电出版社,定价49.8元,2020年1月出版,2021年3月第6 ...

  2. 一条python语句实现BGR图像转RGB图像

    为什么要将BGR图像转RGB图像,一个典型的应用场景是opencv的颜色通道顺序为[B,G,R],而matplotlib的颜色通道顺序为[R,G,B].所以当用opncv读取的图像最终用matplot ...

  3. 怎么用python编写心形图案,python编程爱心形状turtle

    如何利用python画一个爱心 1 from turtle import * 2 def curvemove(): #这个函数是为了绘制爱心上方的曲线 3 for i in range(200): 4 ...

  4. css 绘制心形图案

    CSS3 transform-origin 属性设置旋转元素的基点位置. 注释:该属性必须与 transform 属性一同使用. (1)首先,绘制背景: <!doctype html> & ...

  5. 利用MATLAB绘制各种表白心形-跳动心形

    利用MATLAB绘制各种表白心形♥ 跳动三维心形 表白情人节必备 面向工科屌丝男 固定心形的各种画法见下面连接 链接: https://blog.csdn.net/weixin_44044161/ar ...

  6. 绘制动态心形图案::R语言绘制心形图

    原始方程源于此贴一楼:直通车 整理修改后: 被窝修改成这样: x<-seq(-1.1,1.1,length = 3000) rep<-30 y<-matrix(,3000,rep) ...

  7. 利用MATLAB绘制各种表白心形-固定心形

    利用MATLAB绘制各种表白心形♥ 第一种 固定三维心形 f=@(x,y,z)(x.^2+ (9./4).*y.^2 + z.^2 - 1).^3 -x.^2.*z.^3 - (9./80).*y.^ ...

  8. java实现心形图案|桃心_程序员的浪漫--java打印心形图案

    原标题:程序员的浪漫--java打印心形图案 谁说程序员不能浪漫 单纯的心 双心 加些点缀 代码所用方程: 心:((0.05*x)^2 + (0.1*y)^2-1)^3-(0.05*x)^2 * (0 ...

  9. 打印心形图案---程序猿才有的浪漫---入门级---C语言实现

    ❤❤❤给初学者们的浪漫❤❤❤ 1.效果展示 2.打印思路 3.配色优化 1.效果展示 2.打印思路 我们整体上可以将心形图案划分为三个部分: 1.心形上方的两个梯形(3行) 2.心形中间的一个矩形(3 ...

最新文章

  1. hibernate分页
  2. AWS攻略——使用CodeCommit托管代码
  3. 设计一个成功的微服务,堪称必备的9个基础知识
  4. 读史以明志,把握好自己的明天
  5. 一个java小程序运行结果图_编写以下程序,并上传源代码和运行结果截图,附件中上传java源程序。...
  6. 数据治理 主数据 元数据_我们对数据治理的误解
  7. Django syncdb mysql error on localhost - (1045, Access denied for user 'ODBC'@'
  8. Angular 4.x 自定义验证指令
  9. Android开发—文字自动轮播实现
  10. 也乱弹Book.Save而引OO对话
  11. 如何通过数据驱动业务发展
  12. Word List 01
  13. 440 亿美元成交!Twitter 「卖身」马斯克
  14. arnold运动模糊nuke合成方法
  15. android 仿微信头像裁剪,android 模仿微信头像裁剪
  16. 6000多万铲屎官,捧得出一个国产主粮的春天吗?
  17. 找靓机用计算机表白,找靓机怎么样-2300元的鼠标用起来怎么样?Finalmouse Ultralight Phantom体验...
  18. 我的世界1.12.2java下载_我的世界java版整合包
  19. 前端基础-JavaScript
  20. RTX 3080被炒到原价7倍,最高卖5000美元,英伟达官方道歉:将打击黄牛抢购

热门文章

  1. JavaScript 函数式编程——入门指南
  2. 广州小洲村 1850创意园 一游
  3. 关于企业内容管理系统(ECM)
  4. echarts 地图添加纹理贴图
  5. install pecl php_centos php pecl 安装的方法
  6. 福州大学计算机考研要准备多久,考研到底需要准备多久?
  7. 从win7免费升到win10,再重装win10的方案(正版win10安装)
  8. 我要更好听的做智能制造行业的公司名称
  9. 如何查看百度百家号审核进度
  10. 从路由器查看计算机访问记录,手机通过wifi连接路由上网,管理员能通过电脑终端看到浏览的内容或记录吗?...