Cryptic Python招聘广告

时间:2017-09-06 12:19:19

标签: python

在Tube中看到这个神秘的工作广告,但它似乎评估为[],这看起来并不令人兴奋。关于如何从中哄骗更有用的结果的任何想法?

bytes(
    map(
        lambda x: x-1,
        filter(
            lambda y: y < sum(2**x for x in {z for z in range(7)}-{2}),
                b'~b{qq}mz!o|px'
        )
    )
)

https://repl.it/KkRj/0

1 个答案:

答案 0 :(得分:1)

在python 2中,这段代码没有产生任何东西(空列表),因为:

>>> b'a'[0] < 100
False

b前缀并不真正在python 2中创建一个bytes对象。所以你要回到比较一个字符串和一个整数,在python 2中总是假的(不确定是否程序员忽略了这一点或故意这样做了)

另一方面,在python 3中,比较正常

>>> b'a'[0] < 100
True

所以过滤器有效,结果为"apply now"

除此之外:当你只能{z for z in range(7)}(更快和更短)时,你讨厌这种语法set(range(7))