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

    0

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    while True:
        prev_word = next_word
        if next_word.is_empty():
            next_word = random.choice(words)
        else:
            next_word = chain.get_next_word(next_word.root, lambda: Text.Word(''))
    
        suffix = suffix_chain.get_next_word((prev_word.suffix, next_word.root), lambda: '')
        if len(suffix) == 0:
            suffix = next_word.suffix
    
        punct = punct_chain.get_next_word(next_word.root, lambda: '')
    
        if len(output_words) == 0 or output_words[-1].is_ending_word():
            res_word = Text.PunctedWord(next_word.root.capitalize(), suffix, punct)
        else:
            res_word = Text.PunctedWord(next_word.root, suffix, punct)
    
        output_words += [res_word] 
        generated_chars += len(res_word)
        if chars_max_count > 0 and generated_chars > chars_max_count:
            break
        if words_max_count > 0 and len(output_words) > words_max_count:
            break

    Вореции. Генерации. Кобенации. Теперь в энтерпрайз почти ООП-стиле!
    s: https://github.com/gost-gk/vorec-enterprise

    gost, 05 Января 2019

    Комментарии (4)
  2. Python / Говнокод #25181

    +1

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    def enum(x):
        globals().update(map(reversed, enumerate(x.split())))
    
    enum("""
        ONE
        TWO
        THREE
        FORTH
    """)

    Forth влияет...

    666_N33D135, 12 Декабря 2018

    Комментарии (30)
  3. Python / Говнокод #25172

    0

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    def is_regular_pay(self, order):
            return order.account is None
    
    
        def is_card_binding(self, order):
            return order.account != None
    
    
    ...
    
    if self.is_regular_pay(order):
                   ...
                    return HttpResponse("OK", status=200)
    
                elif self.is_card_binding(order):
                    ...
                    start_cancel_request(order)
    
                else:
                    get_logger().warn("Unknown successefull operation")
                order.save()

    PashaWNN, 09 Декабря 2018

    Комментарии (3)
  4. Python / Говнокод #25169

    −1

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    x += [random.randint(1,5)*2-1] # здесь мог бы быть random.choice([1,3,7,9])
    input()
    if 1 in x:
        # . . .
    # . . .
    elif 5 in x:
        # А как мне заимплементить случай с пятеркой???7

    Когда забываешь о random.choice([...])

    shite, 09 Декабря 2018

    Комментарии (1)
  5. Python / Говнокод #25066

    +2

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    from itertools import groupby
    
    In [31]: [list(g) for k, g in groupby('AAAABBBCCDAABBB')]
    Out[31]:
    [['A', 'A', 'A', 'A'],
     ['B', 'B', 'B'],
     ['C', 'C'],
     ['D'],
     ['A', 'A'],
     ['B', 'B', 'B']]
    
    In [30]: [list(g) for k, g in list(groupby('AAAABBBCCDAABBB'))]
    Out[30]: [[], ['B'], [], [], [], []]

    ЧЗХ?

    syoma, 09 Ноября 2018

    Комментарии (43)
  6. Python / Говнокод #24902

    +2

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    class Test(contextlib.ExitStack):
        def __init__(self):
            super().__init__()
            with contextlib.ExitStack() as s:
                self.foo = s.enter_context(Foo())
                self.bar = s.enter_context(Bar())
                self.enter_context(s.pop_all())

    Неужели в питоне нет более адекватного способа описать класс, который держит джва ресурса и корректно их освобождает во всех ситуациях? И эти люди ругают кресты за сложность управления памятью...

    bormand, 11 Октября 2018

    Комментарии (131)
  7. Python / Говнокод #24866

    −12

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    #Было:
    sorted(lst, key=lambda x: x['key'])
    #или
    sorted(lst, key=operator.itemgetter('key')
    
    #стало:
    sorted(lst, key=S_['key'])

    Говнокоданы, как вам такая идея?

    syoma, 07 Октября 2018

    Комментарии (16)
  8. Python / Говнокод #24850

    0

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    import re
    
    def krpt(x):
        x = x.group(1)
        f = lambda x: "".join(filter(lambda x: x not in "АЕЁИОУЫЭЮЯ", x))
        xp = f(x)
        if len(xp) == 0:
           return x
        for i in open("dict.txt", "r"):
            i = i.strip().upper()
            t = f(i)
            if len(t) < len(xp): continue
            if xp == t[:len(xp)]:
                return i
        return x
    
    def KRPT(x):
        return re.sub("([А-ЯЁ]+)", krpt, x.upper())
        
    while "ПРЛС":
        print(KRPT(input("> ")))

    > какой багор )))
    АКАКИЙ БОГОРОДСК )))
    > лунная клизма, лай мне в анус
    АЛИНИН КЛИЗМА, ЛЕЙБНИЦ АМУНДСЕН АВИВ АНИСИЯ
    > какой-то ебень написал поебень
    АКАКИЙ-АООТ БЕНЬЯМИН НАПИСАЛА ПОЕБЕНЬ
    >

    MPA3b, 03 Октября 2018

    Комментарии (92)
  9. Python / Говнокод #24794

    −1

    1. 1
    2. 2
    3. 3
    4. 4
    if len(item['createdOn']):
        item['createdOn'] = strptime(item['createdOn'], '%Y.%m.%d %H:%M:%S')
    else:
        del item['createdOn']

    mef1stofel, 21 Сентября 2018

    Комментарии (0)
  10. Python / Говнокод #24783

    −1

    1. 1
    2. 2
    3. 3
    4. 4
    for i in xrange(10):
        globals()["mymassiv%d"%i] = i*i
     
    print mymassiv0, mymassiv1, mymassiv9

    Нафига в пыхоплеяде разные структуры данных типа массивов, множеств, словарей? Чтобы быть как "взрослые" языки?

    CTEPTOP_TUPOI_SHIZIK, 17 Сентября 2018

    Комментарии (77)