鱼C论坛

 找回密码
 立即注册
查看: 3083|回复: 2

新手求助对于《好牛逼的一行python代码输出!》一贴的理解

[复制链接]
发表于 2016-11-9 14:30:45 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 jackie-L 于 2016-11-9 23:02 编辑

原帖------>好牛逼的一行python代码输出!



我零基础学python半个月,就是对问题好奇,我就对这个代码分析了一下,明白了一些,还是有些不明白希望高手指点
  1. print('\n'.join([''.join([('Love'[(x-y) % len('Love')] 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(30, -30, -1)]))
  2. #以上是代码原文

  3. #下面的是我理解的部分
  4. print('\n'.join(a))     #将列表中的每一个值的字符串后加上换行符并打印出来

  5. a = [''.join(b) for y in range(30, -30, -1)]  #列表解析生成60个《''.join(b)》的列表。 y被赋值是[30到-30]

  6. b = [(c) for x in range(-30, 30)]   #列表解析生成60个《(c)》的列表  x被赋值是[-30到30]

  7. c = d if e else ' '  #如果if中的公式e为True则返回d的值,否则返回一个空格的字符串

  8. d = 'Love'[(x-y) % len('Love')] #x-y的值与'love'的长度(也就是4)求余数,返回‘love’[余数]中的相应字符

  9. e = ((x*0.05)**2+(y*0.1)**2-1)**3-(x*0.05)**2*(y*0.1)**3 <= 0   #这部分的算法不懂有谁解释下吗,应该是什么数学公式,计算这行能否放的下
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2016-11-9 15:46:27 | 显示全部楼层
桃心方程:(x^2+y^2-1)^3=x^2y^3
http://www.jianshu.com/p/13b014daffa7
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-11-9 15:55:02 | 显示全部楼层
谢谢版主
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2026-2-23 19:23

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表