python中递归函数判断质数_python使用filter方法递归筛选法求N之内的质数(素数)--附一行打印心形标记的代码解析...

本人在学习使用Python的lambda语法的过程当中,用以前求解质数的思路重写了一遍,思路以下:就是新建一个长数组,而后从前日后递归相除去过滤后面的元素。中间对于Python语法的有了一点新的认识:看本身的代码很陌生,大概是由于写得少的缘由。git

下面是代码:api

i = 0

a = range(2, 20)

def test(sss):

global i

if i >= len(sss): return sss

re = list(filter(lambda x: True if (a[i] == x) else (x % a[i] != 0), sss))

i += 1

return test(re)

c = test(a)

print(c)

下面附上Python一行代码打印心形的代码解析,把原来一行代码分拆,把循环和判断单独拿出来,看起来比较清晰了,再次感叹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)])

for y in range(15, -15, -1):

line = []

for x in range(-30, 30):

if ((x * 0.05) ** 2 + (y * 0.1) ** 2 - 1) ** 3 - (x * 0.05) ** 2 * (y * 0.1) ** 3 <= 0:

line.append('Love'[(x - y) % 4])

else:

line.append(" ")

l = "".join(line)

print l

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值