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

    −184

    1. 1
    2. 2
    3. 3
    s="ftmbG!>!fvsU";k=''
    for i in s:k+=map(lambda x:chr(ord(x)-1),s)[s.index(i)]
    exec(k[::-1])

    "Счастливой отладки, суки!" (с)

    Запостил: TheHamstertamer, 09 Августа 2011

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

    • показать все, что скрытоВот за что ненавижу питоны, руби и прочие убогие бейсики, так за это за то что, блять, глаз сломаешь пока поймешь где оканчивается строка.
      Ответить
      • во-первых синтаксис пайтона напротив мешает писать непонятный код, во-вторых если бы у некоторых было больше одной извилины, все было бы понятно
        Ответить
        • Ага, ты еще про любовь умных программистов к строгой типизации посвисти.
          Ответить
    • я вас умааляю. по сравнению с теми извращениями которыми страдают отдельные Перловщики и (как до моего внимания было донесено недавно) Лисповцы, код сверху очень и очень читабельный и безобидный. даже я понял что написано.
      Ответить
    • И что, сработает как задумано?
      Ответить
      • ага
        если кто не понял, это аналог
        #define true false
        в пайтоне
        Ответить
        • А каким образом
          exec('True False')
          выполняет define? Я "Dive into Python" не читал, может, чего не понимаю...
          Ответить
        • Ох, ептыть, не знал, что питон такое допускает. =)
          А True - это true или название переменной?
          Ответить
        • Модифицируемые True и False в питоне доставили. А я был о нём такого хорошего мнения...
          Ответить
          • а каково ваше мнение о крестах тогда?))

            кстати, модифицируемые тру/фолс были выпилены в третьем пайтоне
            Ответить
          • Эта ошибка исправлена в третьей версии.
            Ответить
            • Это не баг, а фича (даже None можно переназначить), поэтому третья версия - говно, 2.7 - наше всё.
              Ответить
    • Зачем там for, lambda i map?

      можно было бы в одну строку:

      exec(''.join([chr(ord(s)-1) for s in "ftmbG!>!fvsU"][::-1]))
      Ответить
    • Что есть exec?
      Ответить
      • вычисление выражения хранимого в строке
        Ответить
        • Чорт. А я всё по старинке eval-ом пользуюсь.
          Ответить
        • Не вычисление, а выполнение:
          >>> exec('print "ну ты лолка"')
          ну ты лолка
          >>> eval('print "ну ты лолка"')
          Traceback (most recent call last):
          File "<stdin>", line 1, in <module>
          File "<string>", line 1
          print "ну ты лолка"
          ^
          SyntaxError: invalid syntax
          >>>
          Ответить
    • Во-первых: я не уверен, что оно пролезет сквозь между модулями, как monkey patching.
      Во-вторых: за явное написание True или False в коде уже можно руки отрывать. Кроме "while True", которое тоже зло, не вижу необходимости в этих константах.

      Поискал у себя в коде. Нашел True в некоторых параметрах вызова методов в значении флагов.

      Проверил - сквозь между модулями действительно не пролезает, только "import *" может быть опасным.

      В общем, если писать весь код аккуратно, то большого вреда не будет. Да и такую неведомую куйню на первом же ревью расколят.
      Ответить
    • показать все, что скрытоvanished
      Ответить

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