Вы смотрите телепередачу "А нука, гуру!"

Ну я Тихий Дон не читал, но Шолохов - паршивец и гей. ~(с)
Итак, новый список личных вопросов:
1) что такое список в питоне?
2) как распараллелить вычисление логарифма?
3) чей бот vlad7?
4) как реализуется метод insert(i,x) /*вставка в заданную позицию*/ в списках?
5) правда ли, что длина самого крупного в мире питона была 40 меторв?
6) правда ли, что МПХ Петра Великого в 2 раза длиннее, чем у ТС?
7) сколько "магических чисел" может использовать дворянин?
8) как нам реорганизовать РабКрин?
9) почему аргумент "ты мудак" весче, чем код?
и наконец, классический вопрсо БДСМ-интеллигенции 21-го века
10) КОГДА ЗАЩИТА??????

а где вопрос о ханойских башенках?
 
я добавил еще 2, правда ханойских башен там нет. а что. вы хотите поговорить об этом?
 
По просьбам трудящихся бездельников:
Код:
PyDoc_STRVAR(insert_doc,
"L.insert(index, object) -- insert object before index");

static PyMethodDef list_methods[] = {
...
    {"insert",          (PyCFunction)listinsert,  METH_VARARGS, insert_doc},

Код:
static PyObject *
listinsert(PyListObject *self, PyObject *args)
{
    Py_ssize_t i;
    PyObject *v;
    if (!PyArg_ParseTuple(args, "nO:insert", &i, &v))
        return NULL;
    if (ins1(self, i, v) == 0)
        Py_RETURN_NONE;
    return NULL;
}

static int
ins1(PyListObject *self, Py_ssize_t where, PyObject *v)
{
    Py_ssize_t i, n = Py_SIZE(self);
    PyObject **items;
    if (v == NULL) {
        PyErr_BadInternalCall();
        return -1;
    }
    if (n == PY_SSIZE_T_MAX) {
        PyErr_SetString(PyExc_OverflowError,
            "cannot add more objects to list");
        return -1;
    }

    if (list_resize(self, n+1) == -1)
        return -1;

    if (where < 0) {
        where += n;
        if (where < 0)
            where = 0;
    }
    if (where > n)
        where = n;
    items = self->ob_item;
    for (i = n; --i >= where; )
        items[i+1] = items[i];
    Py_INCREF(v);
    items[where] = v;
    return 0;
}

static int
list_resize(PyListObject *self, Py_ssize_t newsize)
{
    PyObject **items;
    size_t new_allocated;
    Py_ssize_t allocated = self->allocated;

    /* Bypass realloc() when a previous overallocation is large enough
       to accommodate the newsize.  If the newsize falls lower than half
       the allocated size, then proceed with the realloc() to shrink the list.
    */
    if (allocated >= newsize && newsize >= (allocated >> 1)) {
        assert(self->ob_item != NULL || newsize == 0);
        Py_SIZE(self) = newsize;
        return 0;
    }

    /* This over-allocates proportional to the list size, making room
     * for additional growth.  The over-allocation is mild, but is
     * enough to give linear-time amortized behavior over a long
     * sequence of appends() in the presence of a poorly-performing
     * system realloc().
     * The growth pattern is:  0, 4, 8, 16, 25, 35, 46, 58, 72, 88, ...
     */
    new_allocated = (newsize >> 3) + (newsize < 9 ? 3 : 6);

    /* check for integer overflow */
    if (new_allocated > PY_SIZE_MAX - newsize) {
        PyErr_NoMemory();
        return -1;
    } else {
        new_allocated += newsize;
    }

    if (newsize == 0)
        new_allocated = 0;
    items = self->ob_item;
    if (new_allocated <= ((~(size_t)0) / sizeof(PyObject *)))
        PyMem_RESIZE(items, PyObject *, new_allocated);
    else
        items = NULL;
    if (items == NULL) {
        PyErr_NoMemory();
        return -1;
    }
    self->ob_item = items;
    Py_SIZE(self) = newsize;
    self->allocated = new_allocated;
    return 0;
}

Вон оно че Витек творится. А нам тут втирают про один цикл :) А вы все питон, питон... :)

А если Антона "код" транслировать? :D
 
Останнє редагування:
А что я? Я дилетант, щелкаю семки, немножко оптимизирую.
Собственно я свое видение изложил, ТЗ составлено таким образом, что дилетансткое немасштабируемое, требующие больших вычислиттельных ресурсов непараллелящееся и уродливое (громоздкое и плохочитаемое) решение будет достойным ответом.
быстрый, красивый код получитс яесли отказаться от волюнтаристического ограничения.
Так что, я считаю, виноват автор ТЗ. Помните сказку про жадного человека на Востоке, который хотел, чтобы ему из одной овечьей шкуры сшили 50 тулупов (ну или что-тьо в таком духе). А потом ,когда проект начал чвякать-самизнаетечтоякать он такой "чезачушь, я добавил 24 г памяти и 8 SSD в райде, у меня 24 ядра в системе, а оно лагает".
Оно лагает потому, что некорректно поставлена задача.
 
А что я? Я дилетант, щелкаю семки, немножко оптимизирую.
Собственно я свое видение изложил, ТЗ составлено таким образом, что дилетансткое немасштабируемое, требующие больших вычислиттельных ресурсов непараллелящееся и уродливое (громоздкое и плохочитаемое) решение будет достойным ответом.
быстрый, красивый код получитс яесли отказаться от волюнтаристического ограничения.
Так что, я считаю, виноват автор ТЗ. Помните сказку про жадного человека на Востоке, который хотел, чтобы ему из одной овечьей шкуры сшили 50 тулупов (ну или что-тьо в таком духе). А потом ,когда проект начал чвякать-самизнаетечтоякать он такой "чезачушь, я добавил 24 г памяти и 8 SSD в райде, у меня 24 ядра в системе, а оно лагает".
Оно лагает потому, что некорректно поставлена задача.

полностью согласен с предыдуем аратором, и если б прочитал всю тему сразу, то ничего бы и писать не пришлось. strenzer все расписал как оно есть еще в самом начале темы.
 
strenzer, дадада, также нужно оптимизировать календарь, чтобы в неделе было 8 дней, в месяце 32, а в году - 256 с нумерацией с нуля. а то тот календарь, что сейчас - дилетантское, немасштабируемое и потенциально проблемное решение, требующие больших вычислиттельных ресурсов, непараллелящееся и уродливое (громоздкое и плохочитаемое) решение будет достойным ответом.
Вы там поговорите с автором "ТЗ", может быть он Вас услышыт. если нет, добро пожаловать в наш дерьмовый мир обратно.

Orshansky, программы пишутся для людей, а не для машин. чувствуется, что в "больших проектах" "программных комплексов" АСУНИИВУГЛУСКР этому Вас так и не научили.

для всех остальных задачка на сообразительность: сколько нужно преподов, чтобы вкрутить лампочку?
 
strenzer: я с вас хренею. завтра к вам приходит дядя Вася, владелец сети магазинов мобильной связи Говносеть и рассказывает свою историю. недавно он завез партию айфонов, которые надо распродать. обратился к рекламщикам. те ему придумали офигенную концепцию: при покупке айфона получаешь в подарок водку "Люботин", не меньше двух бутылок, но не более 8-ми. кол-во бутылок ограничено, спешите. рекламщики просчитали, что именно такая концепция взрывает мозг потенциального покупателя и он срочно бежит в магазин за айфоном. говносеть за это отвалила бешеные бабки, половину города заставив рекламными щитами "получи не менее 2-х бутылок водки Люботин при покупке айфона в магазинах Говносети". и теперь всё, что нужно - это программа, которая будет считать, сколько бутылок кому давать, в соответствии с рекламой. на складе лежит 1500 айфонов и 6000 бутылок водки.

что вы ответите Васе? что нужно убрать эти идиотские ограничения "минимум 2 бутылки", снять щиты по всему городу и спустить в унитаз деньги, потраченные на рекламу? или, руководствуясь своими высшими соображениями, сделаете программу, которая в большинстве случаев дает покупателю не меньше 2-х бутылок, но иногда дает одну или ни одной. знаете тогда, что сделают обиженные покупатели с этой Говносетью? порвут нахрен. недобросовестная реклама и т.д., суды-говносуды, репутация конторы упадет ниже плинтуса. потом Вася порвет вас. что дальше? пошлете его на курсы теории вероятности в универ?..

заканчивайте этот детский сад. реальный мир немножко отличается от лабораторных работ в универе, где можно подогнать условие под решение и преподы простят.
 
strenzer: я с вас хренею. завтра к вам приходит дядя Вася, владелец сети магазинов мобильной связи Говносеть и рассказывает свою историю. недавно он завез партию айфонов, которые надо распродать. обратился к рекламщикам. те ему придумали офигенную концепцию: при покупке айфона получаешь в подарок водку "Люботин", не меньше двух бутылок, но не более 8-ми. кол-во бутылок ограничено, спешите. рекламщики просчитали, что именно такая концепция взрывает мозг потенциального покупателя и он срочно бежит в магазин за айфоном. говносеть за это отвалила бешеные бабки, половину города заставив рекламными щитами "получи не менее 2-х бутылок водки Люботин при покупке айфона в магазинах Говносети". и теперь всё, что нужно - это программа, которая будет считать, сколько бутылок кому давать, в соответствии с рекламой. на складе лежит 1500 айфонов и 6000 бутылок водки.

что вы ответите Васе? что нужно убрать эти идиотские ограничения "минимум 2 бутылки", снять щиты по всему городу и спустить в унитаз деньги, потраченные на рекламу? или, руководствуясь своими высшими соображениями, сделаете программу, которая в большинстве случаев дает покупателю не меньше 2-х бутылок, но иногда дает одну или ни одной. знаете тогда, что сделают обиженные покупатели с этой Говносетью? порвут нахрен. недобросовестная реклама и т.д., суды-говносуды, репутация конторы упадет ниже плинтуса. потом Вася порвет вас. что дальше? пошлете его на курсы теории вероятности в универ?..

заканчивайте этот детский сад. реальный мир немножко отличается от лабораторных работ в универе, где можно подогнать условие под решение и преподы простят.
Чушь.
Ваша задача решается не так. Для этого не надо крутить 10005000 циклов.
Каждый получается 2, а довесок вычисляется рандом(4)
Вот докажите, что это не решение вашей задачи.

(для членкоров НАНУкраины поясняю, задача поставлена "от 2-ух", и реклама говорит "от 2-ух" - а 8 - это совершенно необоснованная цифра, взятая с потолка. Обращать внимание на нее не надо. Если уж так надо - напишите рандом(6), мат ожидание будет равно 3 и последние 500 покупателей с большой вероятностью получат минимум. Может так и надо, а м ожет надо распределить равномерно - тогда рандом(4). Видите как важна математика? А не солдафонский подход. Да и не надо писать, что при таком распределении останутся бутылки и это плохо. Спуститесь с небес, наш мечтающий практик :) )


strenzer, дадада, также нужно оптимизировать календарь, чтобы в неделе было 8 дней, в месяце 32, а в году - 256 с нумерацией с нуля. а то тот календарь, что сейчас - дилетантское, немасштабируемое и потенциально проблемное решение, требующие больших вычислиттельных ресурсов, непараллелящееся и уродливое (громоздкое и плохочитаемое) решение будет достойным ответом.
Вы там поговорите с автором "ТЗ", может быть он Вас услышыт. если нет, добро пожаловать в наш дерьмовый мир обратно.

Orshansky, программы пишутся для людей, а не для машин. чувствуется, что в "больших проектах" "программных комплексов" АСУНИИВУГЛУСКР этому Вас так и не научили.

для всех остальных задачка на сообразительность: сколько нужно преподов, чтобы вкрутить лампочку?

Я вашего автора ТЗ видел сами знаете где в сами знаете какого цвета тапках. Услышит он или не услышит, мне это индифферентно - это вы работаете с ним - это ваши половые трудности. У меня таких трудностей нет.
Получили тупое ТЗ - тихо сделали и забыли, а гордиться тем, что героически прокатили квадратное колесо не надо.
Солдаты не гордятся, когда красят листья на деревьях. Ну сдеали и всё, но от чего такой экстахз, такая эйфория? Вас возбуждает нестандартное ТЗ? Оптимизируете на длинный неоптимальный код? ;)
 
Я вашего автора ТЗ видел сами знаете где в сами знаете какого цвета тапках. Услышит он или не услышит, мне это индифферентно - это вы работаете с ним

Тише, тише, Антон работает на группу компаний Триолан :) Тарифный план - "обман судьбы": не меньше 2 грн в день, но не больше 8 грн, за семь дней сумма должна составлять ровно 30 грн :)

Orshansky, программы пишутся для людей, а не для машин. чувствуется, что в "больших проектах" "программных комплексов" АСУНИИВУГЛУСКР этому Вас так и не научили.

Не бережешь ты себя Юрий Венедиктович, все о народе думаешь.
 
По просьбам трудящихся бездельников:
Код:
PyDoc_STRVAR(insert_doc,
"L.insert(index, object) -- insert object before index");

static PyMethodDef list_methods[] = {
...
    {"insert",          (PyCFunction)listinsert,  METH_VARARGS, insert_doc},

[:|||||:]

Посмотрел в исходники и ужаснулся. Оказывается питонячий список это не совсем список.

А вообще реализация может внезапно измениться например.

Итак, следующая задача: реализовать список с методом insert без циклов)

Язык конечно же православный СИ
 
А вообще реализация может внезапно измениться например.

Итак, следующая задача: реализовать список с методом insert без циклов)

Язык конечно же православный СИ

Внезапно может случиться только прорыв в сознании, я рад что вы уже освоили основы алгоритмов и структур данных изучаемых студентами первых курсов на первых двух лекциях. Не зацикливайтесь на списках, в оставшихся 18-ти лекциях вас все еще ждут другие интересные открытия.
 
Внезапно может случиться только прорыв в сознании, я рад что вы уже освоили основы алгоритмов и структур данных изучаемых студентами первых курсов на первых двух лекциях. Не зацикливайтесь на списках, в оставшихся 18-ти лекциях вас все еще ждут другие интересные открытия.

Уважаемый, я 8м классе их освоил, и их видал перевидал)

Так что, сможете написать что-то сложнее чем for(int i = 0; i<size; i++)? Или будете продолжать пыжиться? :іржач:
 
Уважаемый, я 8м классе их освоил, и их видал перевидал)

Так что, сможете написать что-то сложнее чем for(int i = 0; i<size; i++)? Или будете продолжать пыжиться? :іржач:

Т.е не знали да еще и забыли :іржач:
Могу.
 
получилось, получилось!
:попкорн::попкорн::попкорн::попкорн::попкорн::попкорн::попкорн:

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

от чего такой экстахз, такая эйфория? Вас возбуждает нестандартное ТЗ? Оптимизируете на длинный неоптимальный код? ;)

где Вы видите "экстахз"?

Я вашего автора ТЗ видел сами знаете где в сами знаете какого цвета тапках. Услышит он или не услышит, мне это индифферентно - это вы работаете с ним - это ваши половые трудности
в смысле "с ним"? с Богом?
да, иногда подбрасывает заказы..:молись:

Тише, тише, Антон работает на группу компаний Триолан :) Тарифный план - "обман судьбы": не меньше 2 грн в день, но не больше 8 грн, за семь дней сумма должна составлять ровно 30 грн :)

Вы, наконец-то, правильно поняли условие задачи.
 
Видите как важна математика?
математика, канечно, важна, но там где она нужна.
если пользователь выберет опцию "30 бутылок в неделю", а получит в результате Вашего мегаоптимального алгоритма 28,
ему будет глубоко монопенисуально и на Вас, и на Вашу математику.

Ололо, теперь он говорит "я не дурак, я троль" :іржач:

определение троллинга напомнить?
и кто теперь дурак?
 
получилось, получилось!
:попкорн::попкорн::попкорн::попкорн::попкорн::попкорн::попкорн:

Вот на иллюстрации наглядно все показано)

LOL-I-TROLL-YOU.png
 
(для членкоров НАНУкраины поясняю, задача поставлена "от 2-ух", и реклама говорит "от 2-ух" - а 8 - это совершенно необоснованная цифра, взятая с потолка. Обращать внимание на нее не надо.
Чушь. надо делать то, что сказано. рекламную концепцию я вам написал, там фигурирует не более 8-ми. это не обязательно должно быть отражено на рекламном щите, но рекламщики решили, что так лучше. почему? не ваше дело. например, потому, что люди, ещё ничего не купившие, могут узнать от своих знакомых, сколько те получили бутылок в подарок. и рекламщики вычислили, что если кто-то получит более 8-ми бутылок, остальные об этом узнают и решат, что говносеть слишком быстро транжирит водку и последним ничего не достанется, поэтому не пойдут в магазин. не вам объяснять рекламщикам, как нужно работать и не вам объяснять хозяину Говносети, как вести бизнес. иначе, перефразируя классика, "если вы такой умный, то чего пишете программы, а не заказываете их?".

Если уж так надо - напишите рандом(6), мат ожидание будет равно 3 и последние 500 покупателей с большой вероятностью получат минимум.
первые 200 из них выйдут на ХФ или в свои бложики, или вконтакт и напишут, что им досталось 2 бутылки, тогда все поймут, что водка в говносети закончилась и теперь нет шанса получить больше 2-х. рекламная концепция разрушена, 300 айфонов пылятся на складе, Вася ставит вас на счетчик, потому что из-за вас он попал на деньги

Может так и надо, а м ожет надо распределить равномерно - тогда рандом(4).
по концепции совершенно необходимо, чтобы некоторые всё же получали 8 бутылок. это заставит потенциальных покупателей ощутить зуд в заднице и дикую зависть, после чего они толпами бегут в магазин.

Видите как важна математика?
ага, спасибо. вы, кстати, кто по образованию? я - математик

Да и не надо писать, что при таком распределении останутся бутылки и это плохо.
просрав гонку в формуле-1 не надо оправдываться тем, что вы экономили топливо. да, это очень плохо. вы полностью разрушили концепцию, из-за чего айфоны продавались плохо и медленно, из-за этого Вася не успел вернуть долг Вове и его поставили на счетчик, а он, в свою очередь, проверил, как вы плаваете с привязанными к ногам кирпичами. действие происходит в 90-е. это для того, чтобы на одной чаше весов висели ваши идеалы, а на другой - ваша жизнь, может так будет понятнее :)

когда вы выйдете из этапа выполнения лабораторных работ, возможно, вы поймете, что никогда не надо учить заказчика жизни. во-первых, есть риск нифига не заработать, даже если в целом вы будете правы. во-вторых, в большинстве случаев вы будете неправы, потому что он знает свой бизнес гораздо лучше вас. условия начнете ставить, когда станете заказчиком.
 
Итак, следующая задача: реализовать список с методом insert без циклов)

я свято верю в то, что это не возможо. как минимум нужен цикл для поиска элемента, перед/после которого необходимо совершить вставку.
или я чего-то не понимаю?

2 dr_mousefly
от вас не услишал ни одного конструктва, поэтому для вас это должно быть интересным, но скорее всего не поможет:
lurkmore. ru/%D0%9A%D0%BE%D0%BF%D0%B8%D0%BF%D0%B0%D1%81%D1%82%D0%B0:%D0%9C%D1%83%D0%B4%D0%B0%D0%BA

2 HelloWorld
прекратите лить воду, или почитайте статью по ссылке, приведенной выше. давайте только конструктив.
про изачальную задачу и про ваши 1500 айфонов, 6000 бутылок.
если заказчик не понимает того, что задача может решаться разными способами (можно всем раздать примерно одинаковое количество, можно первым 1000 человек раздать от 2 до 8, но остальные 500 получат не больше 2), потому как не полностью описаны требования, надо ему об этом сказать и попросить разъяснить требования. если заказчик не может этого сделать (по любым причинам), то решением данной задачи будет первое пришедшее в голову. и не потому, что оно правильно, а только для того, чтобы заказчик посмотрел на результат. если он его удовлетворяет, то все ок, если нет, то переделываем.

странно, что вы, являясь матиматиком, не понимаете, что у данной задач есть несколько решений. и учитывая то, что вы писали, а конкретно то, что заказчику надо дать то, что ему нужно, потому что можно конкретно попасть из-за неправильной реализации, говорите о том, что более контретные требования даже пытаться узнавать не стоит.
 
Останнє редагування:
я свято верю в то, что это не возможо. как минимум нужен цикл для поиска элемента, перед/после которого необходимо совершить вставку.

Цикл можно сделать и в другом месте, и можно даже делать не цикл, а рекурсию))
 
Назад
Зверху Знизу