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

    −268.5

    1. 1
    2. 2
    3. 3
    temp = a
    a = b
    b = temp

    Запостил: SvartalF, 25 Ноября 2008

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

    • tester:
      а в чем проблема-то?
      Ответить
    • показать все, что скрытоShock:
      Перед выполнением, допустим:
      a = 'A-Value', b = 'B-Value';
      temp = a
      a = b
      b = temp
      a == 'B-Value', b == 'A-Value';
      То есть эта функция меняет местами значение а и б.
      Ответить
    • Shock:
      Интересно, а работают тут бб-коды, или <b>хтмл-теги</b>, или какие-то другие *способы разметки*
      Ответить
    • страйко:
      думаю скоро сделаем ббкоды
      Ответить
    • Stilus:
      И что тут неправильного? Бывают же случаи когда надо менять местами значения переменных.
      Ответить
    • показать все, что скрытона себя посмо:
      говнокодер тот, кто посчитал этот пример говнокодом. Автор, учи матчасть.
      Ответить
    • PooH:
      Господа успокойтесь, это действительно говонокод. На питоне пишут так:
      a, b = b, a
      Ответить
    • anonymous:
      Питонщеги знают, почему это говнокод.
      Ответить
    • показать все, что скрытопитон слабо знаю, но тут чуть не обоссался
      Ответить
    • Veton:
      [quote=Говногость]питон слабо знаю, но тут чуть не обоссался[/quote]
      Энурез?
      Ответить
    • Sotikov:
      a = a + b
      b = a - b
      a = a - b
      Ответить
      • а если там не числа?
        Ответить
        • С помощью побитовых операций.
          Ответить
          • Побитовые круто, но если попадутся идентичные величины, будет весело.
            Ответить
            • поясните мысль™
              Ответить
            • > если попадутся идентичные величины
              Не вижу проблемы:
              // a = 42; b = 42;
              a ^= b;
              // a = 0; b = 42;
              b ^= a;
              // a = 0; b = 42;
              a ^= b;
              // a = 42; b = 42;
              Ответить
              • Притча во языцех

                Наверное каждый прогер решал эту задачу
                Ответить
                • > каждый прогер решал эту задачу
                  Задача для юных программистов: Буратино дали 3 яблока, а потом одно яблоко забрали. Сколько яблок осталось у Буратино?
                  Ответить
                  • Ответ неизвестен. Мы не знаем, сколько у Буратино было яблок вначале. Может, он был кому-то должен пяток яблок?
                    Ну и там мораль обычно была про инициализацию переменных.
                    Ответить
                    • > Ответ неизвестен
                      > UB
                      Ок, тогда второй уровень: У Буратино было 5 яблок. Ему дали 3 яблока, а потом у него одно яблоко забрали. Сколько яблок осталось у Буратино?
                      Ответить
                      • У кого забрали? Одно что забрали?
                        Ответить
                        • > У кого забрали? Одно что забрали?
                          Ему дали 3 яблока, а потом у него одно яблоко забрали.
                          fxd
                          Ответить
                          • Глазное?
                            Ответить
                            • Адамово.

                              Вот и третья мораль - юзайте неймспейсы и избегайте конфликтов имён, чтобы не спутать яблоко и яблоко.
                              Ответить
                              • Тогда вопрос
                                bormand в http://govnokod.ru/12#comment285262 написал:
                                >> Сколько яблок осталось у Буратино?
                                некорректен
                                Ведь не указано каких яблок
                                Ответить
                      • Были ли конкурентные модификации числа яблок у Буратино?
                        Ответить
                        • > Были ли конкурентные модификации числа яблок у Буратино?
                          Ага, сразу видно программиста :)

                          Он и правда за эти два интервала мог их съесть, отдать или взять у кого-то ещё.

                          P.S. А ещё он мог за это время умереть или не захотеть отдавать яблоки... :(
                          Ответить
                          • > Ага, сразу видно программиста :)
                            Умение смоделировать реальную ситуацию и обернуть её в исходный код -- важная особенность и достоинство программиста. Только вот никто не сказал, что модели, которые он создаёт, правильные.
                            Программист (а) добавляет в модели свои домыслы ("а сколько было?" из уровня 1, "а конкурентные модификации?" и "а ещё он мог умереть" из уровня 2), (б) плохо работает с недостаточно формализованными задачами. Поэтому в итоге рождаются программы, где отслеживается смерть Буратино и прочие факторы, но нельзя дать ему ещё пару яблок, ведь это не было указано в ТЗ.

                            Всё тлен.
                            Ответить
                            • Это всё оттого, что они используют неправильные языки. Вот в 'PHP' конкурентная модификация невозможна, буратино посреди работы не умрёт, а все переменные аккуратно инициализируются null'ом, который в арифметических операциях станет нулём. Всё интуитивно и красиво.

                              Переходите на 'PHP'!

                              > А вот на ПХП всё бы отработало правильно.
                              Хайвмайнд.
                              Ответить
                              • Ну вообще-то возможна, только никому это не нужно.
                                Ответить
                              • Вот хотя бы в том же C# можно посмотреть на приоритеты операций и написать однозначное выражение.
                                Ответить
                          • А еще яблоки могли испортится, не забывайте об этом
                            Ответить
                      • У Бормандино было 4 яблока. Ему дали 4i (мнимых) яблока, а потом одно мнимое яблоко у него забрали. Какая абсолютная величина яблок осталась у Бормандино?
                        Ответить
                        • вопрос 2
                          Какой побочный эффект у Бормандино вызовет работа с мнимыми яблоками?
                          Ответить
                          • >Какой побочный эффект у Бормандино вызовет работа с мнимыми яблоками?
                            Может покраснение кожи или сыпь. Про побочные эффекты лучше читать на упаковке.
                            Ответить
                            • Мне кажется, что если долго оперировать мнимыми яблоками можно попасть в дурку
                              Ответить
                              • Представим мнимое яблоко, описанное прямоугольным параллелепипедом с комплексными длиной, шириной и высотой. Параллелепипед повёрнут относительно нас на некоторые углы. Представили?
                                Шестимерное пространство. Увозите.
                                Ответить
                                • интересно, приходят ли ОП письма о том, что в его топик поднасрали новых каментов
                                  Ответить
                                • Пх’нглуи мглв’нафх Ктулху Р’льех вгах’нагл фхтагн
                                  И тебя в соседнюю камеру
                                  Ответить
                    • А вот на ПХП всё бы отработало правильно.
                      Ответить
                  • UB
                    Ответить
          • Кстати, а как в Питоне передаются сложные типы?
            Ответить
        • Какой анскилл )))
          https://ideone.com/FKJFnk
          Ответить
          • А, ещё они хотят, чтобы все россизйские сайты хостились на ьроссийских серверах, и всем установить по анальнаому зонду и слушать весь пердёж. А виной всему —– боязнь, что нам отрубят внешние инткернеты.

            Блять, пусть сраные политики не лезут в упраээвление интернетами! Ни наши, ни првочие!
            Ответить
            • Путешествия: Туристические Агенства

              TRAVELMIR/GREEN LIGHT TOURS TRAVELMIR/GREEN LIGHT TOURS
              Агентство, которое Вы искали
              http://www.travelmir.com

              1811 Avenue P.
              Brooklyn, NY 11229 (карта)
              Телефон: (718) 234-0787

              ALLIstanbulTours.com ALLIstanbulTours.com
              Одна нация Туристическое агентство здесь, чтобы служить своей поездки все через Турцию. Мы специализируемся на всех Турции Туры по ОАЭ, Эфес туры, туры Галлиполи, Анзак Однодневные экскурсии, туры ...
              http://www.allistanbultours.com

              255 West 36th Street, Suite 800 New York
              New York, NY 10018 (карта)
              Телефон: (800) 961-5117 Факс: 19175917556

              Ancore Transportation Services
              Транспортная компания , предоставляет 2013 года спринтер Мерседес ( 14 пассажиров ) для локальных и дальних экскурсий , туров , а так же , другие услуги ( свадьбы , дни рождения и тд. ) Мерседес ...

              12303 Runnymede st. #3
              North Hollywood, CA 91605 (карта)
              Телефон: (818) 326-9246 Факс: 818-760-8480

              EIH Travel Inc.
              Путешествия по Америке. Индивидуальные экскурсии (по ценам групповых) на машине от 2 до 12 человек. Не лежите на диване.Отправляйтесь с нами в путь. Что б забыть про все заботы и душою отдохнуть. ...
              http://www.usatravelru.com

              1821 Creekview Ln
              Jamison, PA 18929 (карта)
              Телефон: (267) 483-5289

              Hawaii with Russian Guide
              Звоните на Гаваи, говорим по русски телефон (808) 384-2076

              1255 Nuuanu
              Honolulu, HI 96817 (карта)
              Телефон: (808) 384-2076

              NEW TOURS USA NEW TOURS USA
              22 года в бизнесе. Принимающий тур оператор, все штаты США и Канада. Русские туры с ...
              http://www.newtours.us



              _____
              Ответить
              • Привет, ваш регион представляется как Краснодар.
                Купить лекарства в Краснодар: шишки, гидропонуку, гашиш, скорость, ск, кристаллы, амфетамин, MDMA, экстази, героин и метадон, кокаин (кокс). Мефедрон в кристаллах, мяу-мяу, меф. Всегда можно купить готовые закладки марихуаны и спайса. Реагент 1к40 и LSD.
                Оператор Telegram: @clubdrugs
                ОСТОРОЖНЕЕ! В сети появилось много фейков с нашем именем. Для того что бы не попасть на фейк оператора telegram, переходите на наш ник строго по ссылке выше!


                http://drugsclub.site/catalog/krasnodar

                __
                Ответить
                • Онлайн-магазин Китайская медицина
                  -------------------------------------------------------------------
                  Препараты из Китая, лечебные порошки, ароматические свечи, тампоны вагинит лечения
                  гигиенический шампунь

                  https://www.zbfarm.info/
                  _____
                  Ответить
                  • ________
                    Ответить
                    • индивидуалка в москве

                      https://msk5.prostitutki-red.com/

                      __________
                      Ответить
                      • индивидуалка в люблино

                        https://msk5.prostitutki-red.com/

                        _____________________
                        Ответить
                        • индивидуалка в москве

                          https://msk5.prostitutki-red.com/

                          _
                          Ответить
                          • Вот вам не большой список проверенных Магазинов которые ведут продажи через телеграм!
                            Все вы их знаете по Рампу или Hydra! https://pastebin.com/JWcx7p64

                            STUFF MAN:
                            Телеграм магазина @MAN_STUFF (https://t.me/MAN_STUFF)

                            XTC Market: №1 в РФ
                            Телеграм магазина @XTC_24 (https://t.me/XTC_24)

                            WDС USA SHOP
                            Телеграм магазина @U_S_A_SHOP (https://t.me/U_S_A_SHOP)

                            Prazdn1k
                            Телеграм магазина @Prazdn1kmsk (https://t.me/Prazdn1kmsk)

                            [ЦУМ]
                            Телеграм магазина @Tsum_msk (https://t.me/Tsum_msk)

                            [КОНТРАБАНДА]
                            Телеграм магазина @kontrabanda24 (https://t.me/kontrabanda24)

                            Ant1biotik Shop
                            Телеграм магазина @Ant1biotik_24 (https://t.me/Ant1biotik_24)

                            Магазин Адская Лавка
                            Телеграм магазина @hellish_shop (https://t.me/hellish_shop)
                            _______________________
                            Ответить
      • Такие задачки ещё в школе на Турбо Паскакале решали :)
        Ответить
    • xengine:
      > Sotikov
      своими перлами делишься? :)
      а не проще a,b = a+b, a-b так ?
      Ответить
    • temoto:
      2xengine:
      это бессмысленно. Лучше
      a,b=b,a

      Его 3 строки не занимают лишней памяти, в отличие от
      a,b=b,a
      , и выполняются намного быстрее.

      Хотя экономить на таких вещах - пустая трата времени.
      Ответить
      • да как бы
        a, b = b, a
        выполняется быстрее, умник...
        тесты проводи сначала
        Ответить
    • nooob:
      a,b=b,a

      кроме всего прочего обменивает не только числа, но
      и строки и вообще любые обьекты.
      Ответить
    • Не сказал бы, что это говнокод. Хотя для питона не очень рационально, да.
      Ответить
    • a,b=b,a
      ABBA рулез фарева!11
      Ответить
    • Нафиг вообще так свопить в высокоуровневых языках. Больше похоже на академическую задачу для ничего
      Ответить
    • Даже на пиэйчпи можно прикольнее написать =)
      list($a, $b) = array($b, $a);
      Ответить
      • а смысл?) при таком раскладе помоему выделить 1 переменную, чем использовать 2 конструкции для работы с массивом...
        Ответить
      • Выглядит красиво. Но как это будет выглядеть в памяти?
        Ответить
    • Программистский свинг, бессмысленный и бепощадный XDDD
      Ответить
    • не говно
      Ответить
    • Баян
      Ответить
    • cleaned
      Ответить
    • int main() {
         int a = 4, b = 7;
         a, b = b, a;
         printf("%d %d", a, b);
      }


      Всем привет.
      Подскажите пожалуйста, почему этот код выводит херню?

      Заранее спасибо.
      Ответить
      • Вот, пофиксил
        Не благодари

        int main() {
           int a = 4, b = 7;
           a, b = b, a;
           printf("%d %d", b, a);
        }
        Ответить

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