继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

12个Python填空题

IT程序狮
关注TA
已关注
手记 372
粉丝 2505
获赞 8.4万
前言

什么? 你已经很了解Python了? 好。

我们开始做个测验。下面有12个题目,填个空,让这个代码片段变的可能。

先做个例子

例子1:

>>> x, y = ???
>>> x + y == y + x
False

其中有个???. 把它替换成什么就可以让这段代码成立呢?

揭晓答案:

>>> x, y = [0], [1]
>>> x + y == y + x
False

这个还是蛮简单的,好继续。

例子2:

>>> x = ???
>>> x < x
True

答案呢?

如果使用python内置的数据结构, 确实是不可能的. 唯一可以硬造一个例子

>>> x = type("", (), {"__lt__": lambda a, b: True})()
>>> x < x
True

但是这里不需要这么复杂的去想trick出结果, 只考虑python已经实现的设计。

发考卷

难度3星

>>> x, y = ???
>>> min(x, y) == min(y, x)
False

难度4星

>>> x = ???
>>> len(set(list(x))) == len(list(set(x)))
False

难度3星

>>> x, s = ???
>>> s.add(x)
>>> type(x) in map(type, s)
False

难度3星

>>> x, y = ???
>>> x < y and all(a >= b for a, b in zip(x, y))
True

难度4星

>>> x, y = ???
>>> sum(0 * x, y) == y
False

难度5星

>>> x = ???
>>> min(x) == min(*x)
False

难度3星

>>> x, y, z = ???
>>> x * (y * z) == (x * y) * z
False

难度3星

>>> x, y, z = ???
>>> x * (y * z) == (x * y) * z
False

难度4星

>>> x, y = ???
>>> y > max(x) and y in x
True

难度5星

>>> x, y = ???
>>> any(x) and not any(x + y)
True

难度3星

>>> x, y = ???
>>> x.count(y) <= len(x)
False

难度5星

>>> x = ???
>>> all(filter(None, x))
False

难度4星

>>> x, a, b, c = ???
>>> max(x) < max(x[a:b:c])
True

答案呢

这是最近我觉得蛮有趣的一个项目 pywat

上面的评星是我加上去,也体现了我做这些题目花费的精力和时间:

3星: 很快就想到;实验出来了
4星: 花了蛮长时间, 终于找到答案了
5星: 最后实在找不倒答案,。看了答案恍然大悟啊啊啊啊

你能做到什么程度呢?

请慎重点击: 答案地址

文章源自:http://www.dongwm.com/archives/12ge-pythonnao-jin-ji-zhuan-wan/

打开App,阅读手记
18人推荐
发表评论
随时随地看视频慕课网APP

热门评论

呵呵

看不懂,哪里可以学

查看全部评论