1. Python / Говнокод #17526

    −110

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    # количество гласных в строке
    vowelsCount = lambda s: sum([1 for x in s if x in ['i','a','e','o','u']])
    # Вхождение подстроки в строку
    substringOccurence = lambda S,s:sum([1 for i in range(len(S) + 1 - len(s)) if S[i:i + len(s)] == s])
    g = lambda S,s:'Number of times ' + substr + ' occurs is: ' + str(substringOccurence(S,s))
    # первая из упорядоченных подстрок максимальной длины
    alpha = lambda s:  [x for x in  
       [s[i:i + j] for j in range(len(s),0,-1)for i in range(len(s) - j + 1)]
        if x == ''.join(sorted(x))][0]
    # atoi без atoi
    stringToInteger = lambda s: sum([(ord(n) - ord('0')) * (10 ** i) for i,n in enumerate(s[::-1])])

    Питонячьи извращения для одного курса или не все однострочники одинаково полезны.

    Запостил: wowsuchdoge, 27 Января 2015

    Комментарии (9) RSS

    • checkio.org?
      Там кстати есть нормальные однострочники на ту же тему.
      Ответить
      • Нет, edx.org MITx 6.00.1x Introduction to Computer Science and Programming Using Python.
        Шестинедельный курс. Неплохо покрываются некоторые базовые концепции языка и разработки в довольно-таки быстром и динамичном курсе. Объясняют от базы до подхода к модульному тестированию.
        Хотя я его брал не столько ради разработки, сколько ради языка.
        Ответить
        • >https://www.edx.org/how-it-works
          >Meet New Friends
          Ну и как оно? Обзавёлся новыми друзяшками? ^-^ Я вот тут думал руби подучить. Говорят, после этого начнут давать няшные хипстерши.
          Ответить
          • Не практиковал социальную составляющую, разве что иногда в обсуждениях подсказывал.

            Говорят много чего. Не проверял, поскольку нет интереса в руби.
            Ответить
    • > vowelsCount = lambda s:
      Ну вот зачем, а? Чем def не угодил?
      Ответить
      • Императивное конформистское говно.
        Ответить
      • return писать нужно.
        Ответить
        • И в одну строку на засунуть, угу.
          Ответить
          • #!/usr/bin/env python
            def what(the,fuck):return ((lambda what,the,fuck: fuck+the+what)(0,the,fuck))
            print(what(3,2))
            3.4.2 скушал как миленький

            вообще, я и PEP8 с тобой согласны.
            >Always use a def statement instead of an assignment statement that binds a lambda expression directly to an identifier.
            Но я придерживаюсь его только в рамках кода, который планируется поддерживать. В скриптах категории "реализовал и забыл" можно и пренебречь этим.
            Ответить

    Добавить комментарий