黄哥Python,2017-9-22出题了。

经常来点干货,不然,有的人会说,每天发.....

第一题,来源于我在知乎上回答提问者的提问。

写一个函数,输入 lst = [1, 1, 3, 4, 4, 1],返回值为[1,3,4,1]。

需求是:如果后一个数字与前一个数字相同,则只保留一个数。


第二题,来源于我在知乎上回答提问者的提问。

有一个json文件:


{"奴隶社会": {"亚洲": {"古印度": ["种姓制度", "佛教的创立"], "两河流域文明": ["汉谟拉比法典"]}, "欧洲": {"希腊罗马古典文化": ["建筑艺术", "公历"], "罗马": ["城邦", "帝国的征服与扩展"], "希腊": ["希腊城邦", "雅典民主"]}, "非洲": {"古埃及文明": ["金字塔"]}}}


现在要写一个函数search,当给search函数传入‘金字塔’的 时候,函数打印出奴隶社会.非洲.古埃及文明.金字塔,当给search函数传入美洲的时候,打印出“不存在的关键字:美洲“


第三题:返回乒乓序列的第n个元素

乒乓序列从1开始计数,始终向上计数或倒数。在元素k处,如果k是7的倍数或包含数字7,方向将切换。乒乓序列的前30个元素如下所示,方向交换在第7,14和17,21,第27和第28个要素。

1 2 3 4 5 6 [7] 6 5 4 3 2 1 [0] 1 2 [3] 2 1 0 [-1] 0 1 2 3 4 [5] [4] 5 6

实现一个返回乒乓序列第n个元素的函数乒乓。

def pingpong(n):
    """返回乒乓序列的第n个元素

    >>> pingpong(7)
    7
    >>> pingpong(8)
    6
    >>> pingpong(15)
    1
    >>> pingpong(21)
    -1
    >>> pingpong(22)
    0
    >>> pingpong(30)
    6
    >>> pingpong(68)
    2
    >>> pingpong(69)
    1
    >>> pingpong(70)
    0
    >>> pingpong(71)
    1
    >>> pingpong(72)
    0
    >>> pingpong(100)
    2
    """
    "*** 下面写你的代码 ***"


黄哥谈学习Python编程的学习方法:

编辑于 2017-09-22 08:19