Змея / Говнокод #11969 Ссылка на оригинал

0

  1. 1
  2. 2
ids = [str(int(str(float(x)))) for x in ids.split(",")]
                ^^^

Знакомый 1С-ник в 1С-мессенджер кинул.
Специальная олимпиада для гуру Пайтона.
В каком случае данная операция кинет эксепшн при вызове int, помеченного в коде?

Запостил: serpinski serpinski, (Updated )

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

  • В любом.
    >>> str(int(str(float('1'))))
    Traceback (most recent call last):
    File "<stdin>", line 1, in <module>
    ValueError: invalid literal for int() with base 10: '1.0'
    Ответить
  • Где здесь 1с, serpinski? 😉

    Интересно, зачем такой странный каст? Автор думал, что это округлит число?
    Ответить
  • Если мне нужен int, я так и указываю в коде "получить int". Из той хрени, которую передаю на вход. Я не хочу знать, как это значение будет получено, мне нужно значение, а не исключения. Здесь получается, в задачи программиста входит указывать в программе чёткую и строгую последовательность действий. Отвлекаться на не совсем нужные, а порой и совсем не нужные и лишние, описания.
    В связи с этим вопрос: чем отличается эти ваши строгие языки, которые падают от маленького чиха, от низкоуровневого ЯП? Хотя бы ассемблера.
    Вы так ими гордитесь, ваяя сотни конструкций. Да, в некоторых случаях, возможно описать большую последовательность, маленькой строчкой, но и такой возможностью мало кто пользется (кто-то не осилил, кому-то лень, кто-то уже нагуглил). Пользуются библиотеками (готовыми), ведь лучше подключить огромную библиотеку для решения своей маленькой, но важной задачки, чем чуточку напрячься, подумать и придумать.
    Может сила привычки? Может человек привык всю жизнь ходить на работу через теплотрассу, каждый день перелезая через огромные трубы, и ему кажется это правильным? Это стагнация? Это консерватизм? Это мамкина сиська?
    простите, но у меня взрыв эмоций
    Ответить
    • (отстреливаясь Фейри от жира)

      а ничем не отличаются, выстрелить себе в ногу можно на любом яп. выбор языка зависит сугубо от мышления.
      Ответить
    • Есть один язык, который пытается любой ценой выцарапать из говна орешки.
      PHP называется.
      http://ideone.com/fIkRhM
      И я бы не сказал что это правильное поведение.
      Ответить
      • > И я бы не сказал что это правильное поведение.
        Да, в реализацию intval закралась досадная ошибка. intval("WTF123") тоже должен был вернуть 123.
        Ответить

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

Где здесь C++, guest?!

    А не использовать ли нам bbcode?


    8