Вы видите копию треда, сохраненную 14 апреля 2020 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
Предыдущий >>1583121 (OP)
ЧАВО: https://github.com/TheKnightsWhoSayNi/info/wiki/Hat актуальность примерно 2015 года
Книжки: https://yadi.sk/d/HQhhsBsq3TVRUq
Тоже книжки: https://yadi.sk/d/tArKKuQu3Kejuq
Больше книжек: https://yadi.sk/d/H-00n-UG3RSQem
Очень много книжек: https://drive.google.com/drive/folders/13YaFijvuH4dtv-PjUKVWLQ7ZIqXIfCLK <-- похоже ссылка больше не работает, а жаль
Автоматизация рутинных задач ч.2 - https://anonymousfiles.io/3CBCoy1o/ <-- тут только одна книжка. Ради неё держать ссылку в шапке неразумно.
Анон, вместо того, чтобы без разметки постить код, лучше шарь его через специальные ресурсы:
https://ideone.com/ - возможность постить листинги кода и онлайн-запуска, не требует регистрации
https://dumpz.org/ - можно постить листинги, не требует регистрации
https://pastebin.com/ - для листингов, регистрация не обязательна
https://www.codepile.net/ - можно расшарить код в том числе на редактирование, особая полезная опция - чат при каждом листинге, где можно код обсудить
https://pyfiddle.io/ - запуск python кода онлайн, но чтобы шарить, надо регистрироваться
#######################################
Вопросы-ответы:
А стоит ли читать Лутца, том номер N? Мнения в треде разделены. Кто-то за (очень неплохая база даётся), кто-то против (слишком много воды и объём книг убивает всё рвение). В общем - решать тебе, книга вредна не будет, то ты можешь её просто не дочитать и забросить.
Стоит ли читать %книга_нейм%, если там питон версии 2.х? - Нет, не стоит. 100% есть более актуальная книга, для пистона 3.х
А что ещё можно читать? - Питон сам по себе очень хорошо задокументирован, и для уровня начинающих, и для продвинутого. Смотри официальную документацию. Можно начать вот с этого https://docs.python.org/3/tutorial/introduction.html
Есть у кого на примете годный курс лекций по алгоритмам? Формат лекций мне как-то ближе, нежели просто чтение книги. - МФТИшный курс, например, https://www.youtube.com/playlist?list=PLRDzFCPr95fK7tr47883DFUbm4GeOjjc0
Что можно почитать/посмотреть по многопоточности/параллелизации в питоне, да и вообще в целом? - очень годный ролик на американском языке про многопоточность и асинхронность https://www.youtube.com/watch?v=MCs5OvhV9S4
А как учить джангу? Нахожу только книги по джанге 1.х - У джанги отличные доки (одни из лучших для пистоновских либ, имхо), почитай их для начала. Книгу по джанге можно читать и для версий <2, это не проблема, т.к. принципы остаются теми же. Для переката на 2.х хватит changelog`a или тех же самых доков/статей. Начни изучать с разбора учебного приложения с голосовалкой, из официальной документации.
В ньюфаг-треде написано, что нужно начинать с SICP, чтобы научиться программировать - Вот, пожалуйста, та же самая программа, но переработанная под язык Python http://composingprograms.com/ (нужно знать ангельский или уметь пользоваться переводчиком)
Дайте нормальные книжки на русском! Мы, блядь, не в пиндосии живём - брат, смотри книжки по ссылкам в шапке, там есть и русские. Но помни, без языка ангелов твоя жизнь проходит мимо и ты обречён быть на обочине знаний и технологий.
Шапка: https://dumpz.org/b37erFzCnRmW
3.8 не ставится, 3.7 ставится. Что в 3.8 есть такого, чего нет в 3.7?
мимо-перекатываюсь-в-Python-из-другого-языка
Для начала хватит и 3.7
a = float(input('Введите число a: '))
b = float(input('Введите чисто b: '))
c = (b / a) * 100
print('Сумма ' + str(a) + ' % ' + str(b) + ' = ' + str(c) + '%')
А, всё, это я дебил, порядок числе спутал, вопрос снимается
>a = float(input('Введите число a: '))
>b = float(input('Введите чисто b: '))
Что это? Зачем это? Какой в этом смысл? Ты лабу делаешь?
мимо-другой-вкатывальщик-ньюфаг
Соррян за кривую формулировку. Анон помоги мудрым советом.
Да я просто пробую упражнения из книги, буквально час назад открыл этот ваш пайтон
В никсах другой принцип терминалов, чем в винде, и так просто не получится (на сишечке ты тоже не может так просто kbhit() использовать)
Смотри в сторону модуля curses. Но всё несколько сложнее, чем просто вызвать какие-то функции оттуда, ты должен как бы терминал в терминале создавать.
Бляят, вот так начинаешь питоном заниматься, думаешь, поделаю бэк на джанго, позанимаюсь высокоуровневым всяким, а в итоге снова возвращаешься к системному дрочеву операционок, походу это моя судьба, лол. Ладно, спасибо за ответ, я почитаю, а щас спать
Для парсинга хтмл лично мне хватает BeautifulSoup, Scrapy показался каким-то замороченным.
Если у сайта есть АПИ, то все делается через него, никаких сторонних тулзов не надо.
А что тогда возвращать функции, если по первому же if понятно, что никаких вычислений дальше производить не нужно? None?
Анончики
Я вкатываюсь в питон и решил приобрести “мобильное” железо для написания кода. Короче кроме MacBook Pro 13 в голову ни чего не лезет, что посоветуете?дайвамбогздоровья
Peezdos
Если в линупсах все является файлами, то может и законектиться к файлу который отвечает за подключенную по юсб клаву можно? Затем распарсить данные и все?
Мимодругойанон
Я так к считывателю штрих-кода конектился.
Как вообще работают python-разрабы в снг? Можете дать пример? Что делают конкретно, где, для чего? Какие знания применяют. Спасибо заранее.
Ну вообще хотелось полноценно работать на железяке этой
Вот этой хуйни не понимаю, как кто-то пишет фронт на крохотных ноутбуках, когда ко всему прочему ещё нужно всё время на пол экрана страничку держать.
Бэкэндер. Бэкэндовский стек. Немного девопса и БД.
Аноны, выручайте
1. Если таких значений несколько, то какое берется - самое левое или самое правое?..
2. Если в массиве всего 2 значения, то ответ 0 или None?
3. Если массив заполнен одними и теми же значениями например [3,3,3,3,3], то что за ответ должен быть?
ну и задания блять
Ой, да ладно тебе. Задачки делаются in good faith. Если подадут плохой вход, то будет плохой выход.
Как запилить собственный асинхронный сигнал?..
Вот есть у нас либа signal, там висят стандартные сигналы и можно к конкретному сигналу например signal.CTRL_C_EVENT, который реагирует собственно на нажатие Ctr+C, прицепить функцию-обработчик, которая будет выполняться при наступлении данного сигнала. А можно ли запилить собственный сигнал и обработчики для него? Скажем, когда некая очередь переполняется? Или Питон такое не осилит?
!Дратути.
Кароче первая картинка работает, вторая работает. Ставлю между ними or.- Не работает, пишет: спроси на дваче, сам ты слишком тупой что бы понять.
В частности x != x_min ,не робит только
Моя скобочная душа дико орет. Тебе значения нужны между максимальным и минимальным или просто не они?
Мне надо что бы в двух значениях мин и макс блок внутри if не срабатывал
По отдельности пишу не срабатыает но как только вместе пытаюсь min всегда срабатывает
Нет там двигается робот
Ну спасибо. Решил книгу по скрапингу прочитать, потому определиться.
"Скрапинг веб-сайтов с помощью Python". Есть цветная на русском на торрентах.
Можете подсказать, что за проценты здесь написаны? Пытаюсь код записать в онлайн компайлер, но ошибку в синтаксисе выдаёт, код из википедии
> Можете подсказать, что за проценты здесь написаны?
https://pythonworld.ru/osnovy/formatirovanie-strok-operator.html
> Пытаюсь код записать в онлайн компайлер, но ошибку в синтаксисе выдаёт, код из википедии
На твоём скрине код для питона 2, а выполнить ты в питоне 3 пытаешься, видимо. В третьем питоне print это функция, оберни всё, что идёт после него в скобки и должно заработать.
Пздц значит этот челик>>595479
был прав но почему ?
Точка проверяет x_min она или x_max. Если не то и не то красит клетку, делает шаг - увеличивает счёт. Опять проверяет ни то или ни то - красит. Причем здесь and то блять ? And только если два условия вместе срабатывают должён сработать разве блять нет ?
Ты неправильно воспринимаешь ИЛИ. У тебя есть две булевы функции от одного значения. Если значение минимальное, то первая функция выдаст 0, а вторая 1. 0 + 1 = 1. И наоборот, если значение максимальное: первая выдаст 1 вторая 0. Всё равно получается 1 + 0 = 1.
Вообще по идее у тебя эти условия взаимоисключающие — хотя бы одна функция всегда будет давать истину. Поэтому выполнятся они должны одновременно.
Да я уже 10 раз везде всё прочитал и прошёл я просто плачу уже нахуй. Здесь написано: ПОКА НЕ БУДЕТ СТЕНЫ СПРАВА И СНИЗУ выполнять циклы. Он идёт змейкой но блят встаёт не в правом нижнем углу а в левом. Ну что за хуета ну не выполнено же условие что не так
Ну, если тебе нужно чтобы он шел в нижний правый угл, то убери
внутри общего цикла внутренний цикл с while not wall is on the left
Cпасибо
def func(x, y, z=None)
?
>not wall_is_on_the_left() && not wall_is_beneath()
>ПОКА НЕ БУДЕТ СТЕНЫ СПРАВА И СНИЗУ
>встаёт не в правом нижнем углу а в левом
В правом нижнем углу нет стены слева.
Что за хуйня вот первый пик работает второй блять не работает но они блять одинаковые
Не тот пик вот смотри, НИХУЯ ОН НЕ ВСТАЁТ СПРАВА И ВНИЗУ. Останавливается в левом нижнем
ПОКУДА НЕ БУДЕТ СТЕНЫ_СПРАВА И СТЕНЫ_ВНИЗУ выполнять блок. Но встаёт блять в левом нижнем углу
Бумп вопросу
А, тогда ты прав, проблема не в право-лево, а в булевой логике.
левый нижний = 0 (стена справа) 1 (стена снизу)
1 (не стена справа) 0 (не стена снизу)
1 & 0 = 0
Так у тебя в коде написано, что он по сути идет змейкой (но не совсем, ибо змея не пересекает то место, где уже проходила), при этом вертикально, по достижении нижнего угла, позиция будет совпадать с исходной. Работает as intended
Нихуя не понял.
У меня два условия пока они не будут True я выполняю вложенные циклы. Поехали. Точка идет змейкой до нижней стены, в нижнем левом углу она проверяет как и везде до этого два условия. Одно из них False/ значит оператор and дает False но эта хуйня останавливается. Обьясни попонятнее пожалуйста что ты имеешь в виду
есть две группы виджетов на ui, может быть активна только одна, которая выбирается радиокнопкой. Проблема в том, что вне этих групп есть пара-тройка кнопок, которая работает с каждой из групп, только вот в зависимости от выбора функции будут себя вести несколько по-разному.
Как это всё правильно оформить?
В функцию каждой кнопки условия добавлять?
Или какой-о флаг им передавать?
Или всё классом оформить?
С какйо нахуй исходной о чём ты вообще ?
>как и везде до этого
Она не везде проверяет два условия, а только после move_down(), например, в левом нижнем углу. В нём not wall_is_beneath() = False, следовательно "эта хуйня останавливается"
>в зависимости от выбора функции будут себя вести несколько по-разному
Я бы такое делал указателем на функцию, но я не питонист просто тебе что-то никто не отвечает
Ну я это и имел в ввиду. Мувдаун --> дальше подробнее, у меня два условия пока нет стены_справа and нет стены_внизу - делаю, так же ?
Блин, а задания интересные по большему счету. Не то что какой-то ебаный японский флаг в ascii, или как у кого-то в б было, смоделировать лифты на жиес
В левом нижнем я проверяю нет стена_справа and нет стена_внизу
Нет стены справа-True - Первое условие
Нет стены внизу-False - Второе условие
True and Fallse при AND == FALSE почему не продолжает то
>True and Fallse при AND == FALSE почему не продолжает то
>while False:
>почему не продолжает
?
Парниш, ты слишком загоняешься. Сходи отдохни, попей чаек. Это же очевидно. ИЛИ это когда может выполниться хотя бы одно из условий, т.е. и при н равном 2 или 6 оно выдаст истину. То же самое и у тебя в коде. Выполняется хотя бы одно условие х != х_min, оно и выдаёт истину.
Ну или просто используй в условии: x > x_min and x < x_max
раз ты сформулировал его так уебищно, что даже сам не понял.
>Пока два подчёркнутых условия не будут выполнены
Пока два подчёркнутых условия выполняются вместе.
Ещё раз, Возьми тетрадку, расставь скобки, показывающие порядок действий, и подпиши, где True, где False.
А на своей картинке нарисуй все точки, когда они проверяются.
А это точно для ньюфагов?
...В левом нижнем углу ( 7, 1 ) проверяется - есть ли стена справа и стена внизу.
>Ещё раз, возьми тетрадку, расставь скобки, показывающие порядок действий, и подпиши, где True, где False.
>А на своей картинке нарисуй все точки, когда они проверяются.
>...В левом нижнем углу ( 7, 1 ) проверяется - есть ли стена справа и стена внизу.
Затем, если нету стены справа и стены снизу иду дальше но я нихуя не иду я стою
>Ещё раз, возьми тетрадку, расставь скобки, показывающие порядок действий, и подпиши, где True, где False.
Сначала своего, потом того, что я написал
Ты неправильно понимаешь, как оно работает. Чтобы понять,
>возьми тетрадку, расставь скобки, показывающие порядок действий, и подпиши, где True, где False.
Анон, вот где ты был всё это время. Это же такая то охрененная штука.
Ух ща буду считать каждую нанду в тетрадочке, чтобы минимум нандов в каждой нандосхеме было.
Я не понимаю, ты пытаешься компьютеру доказать, что это он не прав, повторяя одно и то же 10 раз?
Чо то типо, если он в стену врежется умрёт но он может видеть стену впереди на 1 клетку. Пока впереди нет стены - иди. чо сказать то хотел ?
Да, я тоже сразу о ней подумал уж больно они похожи по механикам. Они идею стырили или это вообще одни и те же люди делали?
Заработало а чо без скобок же то же самое (я думал) там тольк оодин блять оператор and
Почему без скобок and не связал эти булевы выражения ?
Я тебе трижды уже объяснил, что он остановится, когда будет стенка внизу. И ещё пять раз написал и даже другой анон разок скопировал, как тебе понять, почему это произойдёт. Но ты, по какой-то причине, предпочитаешь повторять одно и то же и ждёшь, что у тебя заработает.
И в рисунке твоём в клетке 5 ошибка.
Ты нихуя не сделал, что я тебе сказал. Ты вообще хоть лекцию смотрел вторую? Пересмотри ещё раз. Твоё условие это логическое выражение. Вместо каждой функции проверяющей подставляется true или false, дальше работают not, потом or и and, в итоге у тебя или True или false в ответе. Если тру, то цикл выполняется.
А теперь подставь значения и реши по действиям блядь, сколько можно уже задавать идиотских вопросов.
Ты вообще ничего про алгебру логики за жизнь не слышал, да? Тогда что ты пытаешься вообще делать блядь, ты просто случайно это всё тыкаешь, пока не заработает?
Ну пока только хуем в анус твоей жопы тыкаю, как то же я до 30го дошёл упражнения. А вот с углом именно проблема. Чо сказать то хотел я уже понял что скобки надо ставить было ты бы лучше обьяснил в чё разгница между и без, разве and не должен обьеденять и выдавать один результат True или False
>как то же я до 30го дошёл упражнения
Это хорошо. Жаль, конечно, что 30 упражнение показало, что ты всё неправильно делаешь, но ты главное предыдущие 29 запомни и всегда повторяй, там точно всё правильно, никакой логики действий понимать не надо.
Ну прости что не оправдал ожиданий
Маленький мой хорошенький, целую твою дочку в реснички, мамку твою по попке хлопаю легонько. Спасибо.
А, ты другой курс смотришь. В шапке ссылка на курс по алгоритмам, там вторую лекцию посмотри, вроде там всё хорошо разложено было и быстро.
Отлично
Земля тебе стекловатой и тому, кому потом придётся разбирать твой код. Если ты умудрился в двух соснах потеряться, то как ты собрался сложные условия вообще составлять? Это ж целая наука.
Всё суть логика, но личность человеческая разнИца от индивида к индивиду, от того процесс осознания логических узлов не может быть идентичен у разных особей. Но ты особо не волнуйся и не харохорься петушок. Тебе и твоему совершенному разуму я конечно не конкурент. А то очко порвёшь бля.
А я то грешным делом полагал, что всякие науки ученые мужи творили для того, чтобы у всяких разнИц человечьих одни и те же результаты были.
Ан нет идеализм шагает по планете.
Ну во первых ты тупо смысл многосложных предложений понять не в силах. Во вторых откуда тебе знать для чего творили великие. Как ты заметил это отсутствие диалога, поэтому послав тебя нахйуй ничего не измениться.
Виляние задницей и незнание, а особенно виляние задницей для оправдания незнания, это конечно классно и ты можешь считать себя победителем.
А булеву алгебру все же проштудируй.
Дебил ебучий. Я понимаю что ты лишь хотел меня подбодрить и что у вас технарей и прочего профильного скама игра речи служит лишь для мотивации прогрессировать единственную вашу направленность. Поэтому я не буду пытаться объяснять тебе где и почему ты не прав, мы просто не поймём друг друга. Я лишь обращусь к тебе как к человеку - Спасибо, за добрые слова. Я тебя понял.
Именно этим я и занимаюсь, и вы мне очень с этим помогли.
Я бы с радостью, но по заданию нужно в этом случае вызывать ValueError.
>ты быдло и понять великого меня патологически неспособен
Да, да, да стандартный обмен любезностями на дваче. Вернешься, когда поймёшь, что показательно вздыхающих на каждый твой высокохудожественный вздох лобызателей надо ещё заслужить в неравной борьбе с кучей других претендентов на роль вождя образованного быдла.
Ты пытаешься угадать смысл сказанного что ли ?
Почему ошибка? Почему если пишешь 'b', то не переводит в двоичную сис ?
>Я даже консолью пользоваться толком не умею
А нахуя тогда тебе эта пердольная шкатулка линукс?
>как это поменять
Ещё один параметр, sep='' (separator равен пустой строке (это две одинарные кавычки)) и расставить пробелы самостоятельно.
print(параметры, sep="")
sep - это разделитель, который вставляется между параметрами, по умолчанию пробел.
это что и как мне аккуратно в систему всё это дерьмо установить?
мимо не погромизд вообще
Ну ты попросил аккуратно, мы тебе говорим, что аккуратно без знаний не выйдет. Просто делай по инструкции. Бетс грязью и хвостами, но всё установится.
К сожалению, нет. Как-то натыкался на какую-то прогу без бинарников, и потратил хуеву тучу времени, чтобы попытаться её собрать. Не вышло. Инструкция от автора по сборке не работала. Прога была очень узкоспециализированной и малопопулярной, поэтому почти ничего не гуглилось. Впрочем, это были кресты, с питоном может быть полегче. Но если ты не программист, вряд ли быстро разберёшься.
Ну если у тебя линупс то о всё легко, ставишь пип, потом пипом ставишь свою хуйню. Если винда, то могут быть проблемы
Вообще было бы всё намного проще если бы ты сюда ссылку скинул
Блять, а ты вот так со всеми общаешься? Пишешь или говоришь им хуйню все время? Ебать ты конченный.
Только с тобой, шизик.
Хули ты порвался?
Те, кто говорит, что из зачли за год опыта работы то, что они писали пет-проект на гитхабе в течении года - пиздят.
То, что вакансий на питоне без опыта всё меньше, уже давно всем известно.
Что делать? Бежать, пока не поздно, в другие языки. Питон прекрасен, но найти на нём работу без опыта - пиздец.
Такие, на которые при поиске хедхантер показывает более оптимистичные значения. Жаба, макакаскрипт, пыха.
Тут вакансия типо стажировка, просят год и плюс экспириенся на питоне, книжку трудовую необязательно им показывать, ну вообще (я же студент как-никак). Поэтому вопрос прост, что вот можно засчитать за год работы на питоне, какие проекты делают обычно? У меня есть знания в ооп, алгоритмах и структурах данных; синтаксис питона прост, но я хз, что можно сделать такого, что делает чел за год на питоне.
Да, ужасные. Если не можешь с этим смириться, ищи на питоне до победного, рано или поздно найдёшь.
А ты работать пришёл или на красоту смотреть?
Год опыта для стажировки? Звучит сомнительно, некоторых аж на мидлов с таким опытом берут.
Может, реально имелся в виду опыт написания пет-проектов, но с трудом верится. Попробуй, ничего не теряешь.
А сделать за год можно овердохуя. Когда устраиваешься, понимаешь, что проекты, о которых рассказывал на собесе - хуйня, пишущаяся за пару дней.
Ну ок, контора не говно прост.
pip не для управления зависимостями. Он умеет только скачивать и чекать конфликты
Там была возможность посмотреть, какие пакеты должны идти с конкретной версией твоего пакета, чтоб он работал
> на картинке
PIL
> распознать точки
Можно пробежаться по всей картинке, в каждом пикселе подсчитывать средний цвет в какой-то окрестности, и если он отличается выше среднего по картинке выше какого-то значения, говорить, что в такой позиции, скорее всего, точка.
Заебись, спасибо
Вообще, альтернатива была в виде js и node.js. Просто я неправильно вопрос задал.
Но цвет заголовков не поменялся. Такое ощущение, что мой css-файл вовсе не подгрузился. Если открыть код страницы через ctr+U, то вылезает вот такая хуйня (скриншот). Это даже близко не тот css-файл, что я написал
Если решил обмазываться питоном, начинай с основ - Укус Питона книжка. Потом ищи flask tutorial на ютубах и вперед. Можешь и джангой обмазаться, туторов тоже полно, у того же Traversy Media, годных.
Джанга, к слову, приучает к питоник-вэю, что есть хорошо.
Он есть. На той же строчке... Как ты мог догадаться, это Bootsrtrap сформировал вот этот файл. Всего в исходный html template было включено 3 ссылки:
<link rel="stylesheet" href="//maxcdn.bootstrapcdn.com/bootstrap/3.2.0/css/bootstrap.min.css">
<link rel="stylesheet" href="//maxcdn.bootstrapcdn.com/bootstrap/3.2.0/css/bootstrap-theme.min.css">
<link rel="stylesheet" href="{% static 'css/blog.css' %}">
Последняя - на написанный мной css-файл. Только вот в получившемся blog.css какая-то хуйня, такое ощущение что мой файл попросту игнорится
Поменял ссылку на вот такую:
<link rel="stylesheet" href="static/css/blog.css">
В итоге CSS подгрузился. Только не въехал - какого хрена "{% static 'css/blog.css' %}" не работает?.. Это ж стандартный синтаксис Джанги
Спасибо за ответ. А как ты думаешь, не совершу ли я ошибку, если начну именно с питона, а не с js и node.js?
Начни с чего угодно. Перекатиться на любой язык легко, если знаешь уже один хорошо.
Прошу, пройди на html academy для начала вступительный курс по html и css. Он бесплатный.
>Он должен быть в <html>.
><style> код стилей </style>
Друг, друг, послушай. Объясню тебе популярно. <style> находится там же, где и </script>. Длинную строчку видишь на скриншоте? Она продолжается вправо. Там будет какая-нибудь
ATN3-AO31-FNA5-S8OI.js"</script><style>
И следующая строка:
html * { padding:0; ...
Так понятнее? Или нужно красным на скриншоте обвести, и стрелочку нарисовать?
Давай поясню - html в детстве покусали говнописаки и пхпшкольники. Браузер буквально натаскан исправлять ошибки в html - в часности добавлять недостающие теги. Иногда это приводит к интересным последствиям.
Да мы тут в html разобраться не можем, приходится картинки разъяснять.
>Если открыть код страницы через ctr+U
>твой редактор
Ну зачем ты придираешься ко мне? Так вот браузеры подсвечивают содержимое тагов. Это всё-таки просмотрщик html, а не css.
А я и не тот анон. Просто ответил тебе про скриншот, раз уж ты так заинтересовался, что картинку нарисовал.
Юзают вместе с django rest framework.
И вот как правильней реализовывать подобные вещи. Одним файлом скрипта, или несколькими. Типо для каждой кнопки написать отдельный файл.py? Или закидывать каждый кусок скрипта в def? А если кусок скрипта длинный на 100 строчек кода, то наверное закидывать его как функцию, и вызывать по нажатию кнопки, это глупо же?
Ну он как бы и есть в html
Тебе ж сказали что тег вылез за скриншот. Никто не заставляет разраба использовать табуляцию и отступы в html и css, код можно вообще бля в индусском стиле без единого отступа оформить, лично видел такие css файлы на 2000+ знаков
Поэтому твои доебки к тегу style по крайней мере странны
Неужели к 2020 году ничего нормального так и не завезли?
Есть beautifulsoup для парсинга хтмл. Нужная тебе функция пишется а насколько строчек. Да даже со стандартными HTMLParser делается быстро
Хуета, он собирает всю ненужную текстовую хуйню вроде новых строк, пробелов и т.д.
Удаляется за один вызов strip().
Если для себя, то делай как тебе удобно. Я бы просто обернул скрипты в функции, запихнул в один файл и импортировал из него. Но тебе, скорее всего, будет удобнее оформить это все пакетом. Создаешь директорию my_yoba_scripts, перемещаешь в нее все свои скрипты в отдельных файлах, создаешь в директории файл __init__.py и импортируешь свои скрипты куда тебе там надо через имя директории from my_yoba_scipts import drop_db
Представь, что будет, если у тебя долгая операция. Например очистка БД может занять десятки секунд. В это время твой интерфейс скорее всего будет висеть.
Вообще, ты просто делаешь какой-то класс, в котором логика приложения. Делаешь методы вроде syncronize_DB(), clear_DB() и т.п.
В простом случае на вызов кнопок прописываешь эти методы. В более сложном случае, запускаешь свою логику в отдельном треде или процессе, и по кнопкам тред с интерфейсом высылает команду "синхронизировать с БД", который по итогу работы вышлет в GUI команду "сделано". Это наиболее грамотный способ проектирования, так у тебя гибкость появляется и интерфейс не будет виснуть.
*в условие не входит
Понял, а можно ли как-то в рекурсивном цикле (с рекурсивной функцией) поставить условие на самую последнюю итерацию (т.е. перед выходом из функции?)
>рекурсивном цикле (с рекурсивной функцией)
Звучит ужасно, покажи как это выглядит, любопытно стало.
Это скорее всего не то, что тебе нужно, но у циклов есть условие else, которое выполняется если цикл завершился в добром здравии и без использования break.
for _ in range(1):
pass
else:
print('chetko')
Я кажется сам разобрался... любая строка - это же нан?
В гуях это делается длительным зажатием пимпы "отправить" и дальнейшим выбором времени.
Вот я накатид на ПК git, включил в PyCharm VCS, ввёл там расположение гита, свой профиль, и выбрал игнорируемые файлы. При помощи VCS экспортировал свой проект на ГитХаб. Он залился без проблем.
А дальше непонятно - почему то все изменения которые я вношу в проекте в пайшарме, жму Commit, он их запиливает на гитхаб, но на гитхбе это всё не отображается, не появляется новых комитов, не появляется изменений.
При этом если менять что-то средствами самого GitHub и делать Udpate Project (из гита) в PyCharme - PyCharm эти изменения видит. ЧЯДНТ?
Коммит фиксирует изменения локально. Тебе нужно сделать пуш, чтобы передать изменения на удаленный сервер. Я в пичарме не пушу, но это кнопкой со стрелкой делается, вроде.
О, понял анон, спасибо. Нашёл кнопку, она была запрятана в меню
Закономерный вопрос: с чего бы он не найден?
Да, я тот анон, который изначально задавал это: >>596900 я в помине ничего сегодня не писал, но под скрином уже какой-то срач вырос
По итогу: изменил ссылку на css файл на такую: <link rel="stylesheet" href="static/css/blog.css"> все стало работать. Не ебу почему вставка с {% %} не прокает
Например, если бы там были строки ('abc', 'def'), на выходе должен был бы получиться словарь вида {'a': {'b': {'c': {'d': {'e': {'f: {}}}}}}}.
Интуитивно чувствую, что это как-то чуть ли не в одну строку делается, но уже пару дней не могу придти к решению.
Такая проблема вот в этой простой проге (https://pastebin.com/T297ZPfn) , которая запоминает число в json,и выводит его в консоль ,если он уже есть(в этом самом json файле)
>json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)
Примерно такая ошибка выскакивает и я не могу понять почему
Выручите,братики
Никто его уже не советует.
Ты путь до static в настройках сервера прописал, надеюсь?
пройдись от последнего до первого элемента для каждого элемента :)
или проверять каждую секунду какая сейчас секунда
или настроить планировщик задач, поставить задачу "написать пост" на время Х
dropna и параметр axis
а, еще можешь dropna и subset, если только эту колонку
Мне кажется, анон думает, что как-нибудь через апи можно сделать отложенную отправку. Но тогда это лучше в Гугле поискать.
Как бы ты решил эту задачу, если бы на вход твоей функции подали кортеж вида ('a',)?
Клиентское АПИ мама запрещает смотреть?
Подскажите, как с https://dev.hh.ru/ скачать вакансии по ДС 10 тыс. штук и посчитать макс., мин и среднюю зп..?
В какую сторону вообще смотреть? requests? пандас? У меня сейчас совсем не такой уровень..
Благодарствую
Вряд ли они тебе доступ к своему апи дадут, так что бех хтмл-парсера тут не обойтись.
https://github.com/hhru/api
Ну как сказать... как я понял, то анонимные запросы доступны всем, а информация о вакансиях как раз относится к анонимным запросам.
мимокрок
Делаю упражения из A Byte of Python, не пойму вот этот момент, тут в коде есть .import который в книге еще не проходили, из-за этого я не понимаю, как в нижней части происходит разделение от к ? В какой момент питон понимает что вот сейчас закончилось перечисление для и начинается перечисление для ? Типа почему бы ему и Jack=1123 не засунуть в *numbers?
>разделение от ★ к ★★ ? В какой момент питон понимает что вот сейчас закончилось перечисление для ★ и начинается перечисление для ★★ ?
Сука разметка проебалась, в общем каким образом питон разделяет ввод для одной звезды и для двух?
Одна звёздочка это порядковые, две именованные. Джек=123 у тебя именованный. Его никак случайно не засчитает за порядковый аргумент.
Проблемы Пуйтона лежат совсем не в плоскости ООПа, я б понял если бы ты сокрушался над версионированием или производительностью. Если тебе ООП не тот, потому что не обязывает ставить геттер/сеттер на каждый кукарек, то это чистая вкусовщина
Меня вот импорты бесят. После пыхи с божественным автолоадером и автоматическим расставлением use \Hui\Pizda; тут какая-то дичь, когда из вложенного модуля нельзя импортить вышележащий - два часа сидел на прошлой неделе, но так и не догнал, почему оно сначала не работало, а потом заработало, при этом PyCharm никаких ошибок не выдавал.
Вообще пых почему-то принято хейтить, а если жить в мире нормальных фреймворков и новых версий, то отличный язык, си-подобный и многое просто работает, а не как в "модном и крутом" в восприятии многих людей питоне в самом деле бывает импортится хреново, имеются параллельно развитые несовместимые версии 3.Х и 2.7, причем в 2.7 не работает кириллица нормально и т.д. Еще и вечно проблемы с кроссплатформой, либо на винде ок, линукс падает, либо наоборот линукс ок, для винды надо какой-нибудь visual c++ 2008 и cython ставить. У ноды вообще в сравнении с питоном все удобно.
>если жить в мире нормальных фреймворков и новых версий
Только чаще встречается говнокод который был написан студентами за еду, особенно бесит php в html.
<div><?php echo 'Привет'; ?>, <b><?php echo 'Мир!'; ?>!</b></div>
И такого говна навалом, открываешь такой код и слезами обливаешься. Плох не сам пхп, а то что на нем написано много говна.
def func():
----...
>а если жить в мире нормальных фреймворков и новых версий, то отличный язык
Ларавель по перфомансу даже на самых новых версиях пыхи (которая быстрее пистона) уступает по скорости джанге, как там они умудрились это сделать
Ну так а где это встречается, в каких современных проектах? Если такое есть в заказах с фриланса аля рефакторните мое говно 2006 года, то не удивлюсь, но как бы jsp какой-нибудь это примерно то же самое и такое же древнее говно. Ну а если проект новый и адекватный, а не пердоленье цмски на пхп 4, то он скорее всего на ларавеле, который в принципе generic фреймворк для всех задач, такие у любого языка есть и по фичам и реализации примерно такие же.
Почему код вывод именно такой
https://repl.it/repls/FewQuaintClosedsource
небось ленивая хуйня какая-нибудь.
типа время вычисляется каждый раз, когда ты принтуешь дикт
мимо жабавкатыш
Скорее всего. Пистон только в /пр и вижу.
id объекта один и тот же, хотя он создается каждый раз при вызове функции
Даже если ничего не знать о оптимизациях, это всё равно логично, что он один и тот же. Он ведь не рандомный? Не рандомный. Создали почему-то именно с этим номером, сделали дела, удалили, номер снова свободен. Создали и т.д.
Вот кстати еще дополненный пример
https://repl.it/repls/WhirlwindFlamboyantWebportal
>>598419
Ты близок
from mymodule import звездочка
При этом в книге же пишется, что импортировать через звездочку не нужно, и тут же написано, что лучше вообще импортировать только сам модуль, а все имена под ним прописывать через точку типа
mymodule.version
Иначе могут быть конфликты в именах.
Так для чего вообще использовать два нижних пробела? Оно же ужасно при записи выглядит, не понимаю. Мне эту инфу дают просто для ознакомления и чтоб я вообще никогда не писал имена через два пробела нижних? ъъъууууъъъъ блядь
сразу обесню чего я хочу: в общем есть список диалогов и для каждого диалога свой список сообщений с датами, отправителями и прочими приколами
сначала подумал и сделал одну таблицу сразу под все диалоги и сообщения в них, получилось овер 300к записей вида (zalupa0:{msg0,date0}, zalupa0:{msg1,date1}, zalupa1:{msg0,date0} ...)
а теперь я ещё подумал, и хочу сделать список таблиц с диалогами и чтобы каждая такая таблица как бы связывалась со своим списком сообщений
пока что есть вот такой код: https://pastebin.com/PA7WE7ci
он умеет создавать таблицы в бдшке с нужными мне полями, а я хочу чтобы он ещё умел правильно записывать записи в разные таблицы
может так тоже неправильно, в общем подскажите как грамотно организовать хранение таких данных в бд?
>Ну так а где это встречается, в каких современных проектах?
Полгода назад участвовал в гос-проекте по расширению функционала госуслуг (сторонний веб-сервис, который будет висеть потом на поддомене). Писался на Yii2 и пхп в хтмл там было нормой.
>Вообще пых почему-то принято хейтить
Его очень сложно учить правильно с самого начала. Он обманчиво похож на Java, но с кучей подводных, которые вылазят в самых неожиданных местах. Для него нет никаких нормальных курсов, где бы последовательно давалась инфа. Как итог - куча говнокодеров и говнопроектов, которые невозможно поддерживать.
В догонку вопрос, какие есть программы типа OneNote куда можно самостоятельно выписывать код, делать пометки, уточнения и прочее? И я не пойму почему везде пишут что он не бесплатный, запустил его в первый раз на компе, все работает сразу, ничего не просит, оно должно просить? И вроде бы для него есть плагин для подсветки кода который я пока не ставил. Просто хочу узнать возможно есть программы которые лучше для этого подходят и возможно про них все знают, а я нет.
Заполнил почти всю тетрадь рукописно, но там очевидно ни править нельзя, ни добавлять инфу, хотелось бы иметь свой личный справочник куда я сам все добавлял бы и расписывал по мере работы. Ну не стукайте, все же мы люди.
Запоминать ничего не нужно. Надо понимать смысл и принципы. Причём не только и не сколько питона, сколько программирования вообще.
Попробуй подумать категориями не "как вот это делают", а "почему это делают именно так, а не иначе".
Ну так это стандартный унылый госпроект на старых технологиях, была бы джава, то любители старья тоже писали бы в html свою джаву, в шарпе бы тоже фигачили так же на асп.нете
Да это понятно, но опять же без записи мне трудно просто в голове усвоить материал, а когда я запишу, и потом выпишу еще рядом разьяснение, мне гораздо проще понимать и усваивать материал по общим принципам. Плюс это помогает когда ты при написании чего-то смотришь уже в свои собственные записи и так информация гораздо обширнее тригерится в мозгу, чем если я каждый раз гуглю её заново или ищу в учебнике. Но в общем я тебя понял, спасибо
Технологии, кстати, контора сама выбирала. Я настаивал на ларавел или симфони, но они решили, что это долго и дорого, взяли мертвый yii и набрали хуй пойми кого с улицы, только тимлид был норм, но на середине проекта он сам забил хуй на проект и появлялся раз в неделю по удаленке. В итоге к концу все дико пошло по пизде.
Типичная парашкинская пхп-контора, коих моря-океаны. Отчасти из-за этого я и ушел на пайтон.
>Запоминать ничего не нужно. Надо понимать смысл и принципы. Причём не только и не сколько питона, сколько программирования вообще.
Но у пистона просто неадекватное количество синтаксического сахара, причем даже не выходя за рамки стандартной либы
И в итоге всё-таки нужны какие-то знания, чтобы программировать на питоне в питонячьем стиле
Да ваще, ишь повыдумывали всяких for и while, не добавляющих к if/goto никаких новых возможностей.
"Синтаксический сахар" - хуита какая-то, а не термин. Слишком уж он относительный.
>какие есть программы типа OneNote куда можно самостоятельно выписывать код, делать пометки, уточнения и прочее
Emacs, в нём прекрасный org-mode.
>_hui
А protected в плюсах - это тоже сахар?
>__get_pizda
А private - это сахар?
>__ebat_kopat__
А перегрузка операций - это сахар?
protected и private не засирают код, как эти ебучие подчеркивания. Перегрузку операций никто не использует.
>А protected в плюсах - это тоже сахар?
>А private - это сахар?
Я тебе больше скажу, только они сахар и есть, а подчёркиваения, это просто соглашение.
>Emacs
Он только офлайновый? Я короче сейчас перепробовал несколько онлайн ноутов и охуел от Notion, пока планирую на нем остаться даже платить 220р в месяц готов когда лимит выйдет, просто 10 из 10, просто по райтклику любое форматирование ио доступ со всех устройств. Мне онлайн доступ очень нужен, не хочется просто сохранять где-то файл и перетаскивать его потом по колхозному, хочу прям свой личный справочник мутить.
Ну так что угодно закрыться может, буду переодически пересохранять, но пользоваться так в любом случае гораздо удобнее чем офлайн блокнотиком. Если уж там разрастется до книги, в любом случае можно ресейвнуть. Опять же офлайн может диск полететь или еще что-то такое, выхода нет в общем, всё тлен, пользуюсь пока есть возможность
Можно изучить вопрос и сделать синхронизацию и доступ самому. С возможностью миграции на любой vps.
>А protected в плюсах
Нет, protected не сахар, это вещь, которая меняет поведение программ. Сахар - это декораторы в питоне, ты можешь их использовать, а можешь написать полностью эквивалентный код без них.
@deco
func()
абсолютный эквивалент
func = deco(func)
Сахар это то, что не меняет поведение кода, не даёт новых возможностей или оптимизаций, но делает код более наглядным и читаемым.
Кстати, не так много сахара в питоне. В основном специфичный функционал именно новые возможности добавляет.
Скажем у питона очень извращённые возможности по передаче параметров в функции. Но это не сахар, а именно возможности.
>А перегрузка операций - это сахар?
Продолжаю, вот перезагрузка операций - да. Сами операции просто синтаксический сахар для соответствующих методов.
main_list = []
for i in range(N):
a = input()
list_1 = a.split(' ')
for j in range(len(list_1)):
list_1[j] = int(list_1[j])
main_list.append(list_1)
print(main_list)
Виноват, pylint не советует так использовать map, так что list comprehension
list_1 = [int(j) for j in list_1]
тааак, а чем так плох способ через map? он же по-сути применяет функцию int к каждому элементу как и здесь:
>list_1 = [int(j) for j in list_1]
или все дело в том что нужно потом применять list() к map()?
Я не настолько профессионал, чтобы сказать, чем он плох, просто pylint его не рекоммендует. Чем они отличаются можно тут почитать
https://stackoverflow.com/questions/1247486/list-comprehension-vs-map/6407222#6407222
Сурово ты. Сам потом разберёшься?
Protected атрибуты так и обозначаются. Что тут такого?
Private нужен ТОЛЬКО когда хочется удостовериться, что атрибут не будет переопределен в подклассе. В остальном используется protected. Смотри исходный код любого крупного проекта
Дандер-методы же не имеют ничего общего с сахаром. Если всерьез не понимаешь их предназначения то я хз что тут сказать
>И в итоге всё-таки нужны какие-то знания, чтобы программировать на питоне в питонячьем стиле
>protected и private не засирают код, как эти ебучие подчеркивания
У всех свои представления о том, что засирает код. Питон в плане красоты синтаксиса намного лучше тех же крестов, где нет ключевого слова "noninline", и ты вынужден писать методы вне класса.
> Перегрузку операций никто не использует.
Пиздёж. Очень даже используют в библиотеках. Использовать никто нн доставляет, но если уж понадобилось, то a + b выглядит куда лучше, чем жабье a.add(b).
ля какой, это выглядит еще круче и еще проще!
Я раскатывал по официальной инструкции https://rasa.com/docs/rasa/user-guide/installation/ pip3 install rasa.
По ходу установки он выругался, что не существует tensorflow-cpu~=1.15.0. Я и так и сяк попробовал - не катит. Поробовал сделать просто pip install tensorflow-cpu~=1.15.0 и всё поехало.
Я так понял он тензорфлоу из 2 питона подтянул? Либа должна нормально завестись, или ждать подводных?
А теребить теперь эту либу я только из второго питона смогу, или там прозрачно всё?
Питоны независимы друг от друга. Если PIP3 пишет что не существует tensorflow-cpu - то сначала делаешь pip3 install tensorflow-cpu, а уже потом pip3 install rasa
Понял. Спасибо за консультацию.
Миллион в день для постргеса это немного, но в зависимости от задач аналитики тебе может понадобится колоночная бд, типа кликхауса
Меня смущает даже не объем данных, а то, как постгресс будет обрабатывать запросы на вставку от разных скриптов, которые будут работать параллельно через airflow. Каждый insert будет bulk и в транзакции. Вопрос - будет ли один insert ждать, пока закончится другой, и как долго он будет ждать, ведь таких insert-ов может быть целая очередь?
Тебе с такими вопросами лучше в базотред сходить, запись в одну таблицу будет происходить последовательно согласно порядку прихода. Но опять же, даже миллион записей за час не проблема для постгреса при правильной настройке.
Так же производительность так же может сильно зависеть от используемого драйвера, какой-нибудь asyncpg использует бинарный протокол для передачи, написан на cython и дает пасасать гошному pq
А если нужен совсем йоба перфоманс, то это
https://blog.timescale.com/blog/timescaledb-vs-6a696248104e/
В yii2 фронтенд пишется на виджетах, которые написаны на php и в принципе рекомендуется писать в стиле "php как шаблонизатор".
Да, это выглядит аппетитно, а если посмотреть в плане архитектуры?
уже можно пробовать искать работу в бекенде за еду или без джанги пососу?
пчел...
> bash
"bash" не является внутренней или внешней командой исполняемой программой или пакетным файлом
Пососешь, обязательно, фласк нужен максимум 2.5 инвалидам
У меня Gentoo и пакет я уже нашёл.
dev-python/pythonmagick перепутал с dev-python/python-magic
А вот эта вот хуйня - pip я так и не понял зачем.
А с чего ты решил что я пытался что-то осиливать?
Тем более когда у меня и в системе эти пакеты можно осиливать.
Ну смотри, чтобы установить генту, надо взять книжечку и всё повторить, что там написано. А тут самому нужно решить, что делать, если тебе терминал пишет
>bash: pip: command not found
Узнавать, что значат волшебные буквы "pip".
Ну ничего, мы ему обязательно поможем, есть ещё на дваче добрые люди.
bump
>самого лютого дистра
Да и это мне кажется что какой-то миф неизвестно когда и кем выдуманный, Gentoo чуть посложнее арча, ничего чрезмерно лютого тут нет.
Ну так и арч лютый. В убунте и прочих типа юзер-френдли дистрах всё работает из коробки, а что не работает - то настраивается мышкой. В генте/арче же ты должен погуглить, найти темы за 2006 год, разобраться и поправить несколько разных конфигов. А уж когда проблема не гуглится, то либо решаешь методом проб и ошибок, либо смиряешься, что не работает. У меня вот примерно раз в 30 перезагрузок отваливался тачпад без видимых/невидимых причин. Так ничего и не смог сделать. Позже вернулся на винду..
Но тут не /s/.
>насколько я понимаю, работать с сервером можно и при помощи более быстрого JS?
Так C точно быстрее любого из них.
Что "медленный" питон, что "быстрый" JS целую вечность простаивают в ожидании ответа от БД.
А во всяких асинхронных вещах куча ускорителей типа uvloop и библиотек написаных на cython
Для ноды почти наверняка тоже можно писать расширения на сишке. Правда, хз, принято ли там так делать.
>>599019
Если что на заметку, в Notion охуенное форматирование, и он воспринимает код по дефолту, просто вставляешь блок и он автоматом определяет язык, ну или как вариант можно назначить самому, просто охуеваю с красоты этого блокнота. А в Гите и Emacs слишком кодоориентированные и там там красиво все не расписать? По работе гитом пользуюсь только для коммитов айтишник но не программист. Алсо, такие справочники вообще это нормальная практика у программистов? Знаю есть там документация, но это скорее нечто, что пишется прямом в самом исходном коде? Просто когда искал вчера, не нашел вообще никаких толковых упоминаний об этом, разве что вот что-то в виде блокнота, который используется для всего подряд, а не только для кода. Корое вообще няшноту можно наводить любую, и форматировать на лету от таблицы до целой кликабельной вики с ссылками на другие страницы внутри самого блокнота.
Нужно в функцию utility подставить уже получения значения x1_star и x2_star и вывести это принтом, как это сделать?
from sympy import
x1, x2, y, z, p = symbols('x1 x2 y z p')
def profit_max():
p1 = float(input("Введите цену товара 1: "))
p2 = float(input("Введите цену товара 2: "))
m = float(input("Введи доход (m): "))
utility = sympify(input("Введите функцию полезности x1, и x2: ")) # utility function U(x1,x2)
print("Utility: U(x1,x2)=",utility)
print()
Lagrange = utility + y(m-(p1x1)-(p2x2))
print("Функция Лагранжа для максимальной полезности: ")
print("L =", simplify(Lagrange))
print()
x1_foc = diff(Lagrange, x1) # solves the foc with respect to x1
x2_foc = diff(Lagrange, x2) # solves the foc with respect to x2
y_foc = diff(Lagrange, y) # solves the foc with respect to y (lambda)
###
#
# prints the Foc's, and x1,x2 solved respectively for y (lambda)
#
###
print("Систему линейных уравнений ")
print("--------------")
print()
print("[x1]: ",simplify(x1_foc))
print('[x2]: ',expand(x2_foc))
print('[y]: ',cancel(y_foc))
print()
a = solve(x1_foc, y) # Solves x1's foc for lambda(y)
b = solve(x2_foc, y) # Solves x2's foc for lambda(y)
print("Лямбда для x1: ",a)
print("Лямбда для x2: ",b)
print()
mrs = (p1/p2)
print("Отношение 1 товара к 2 = ",mrs)
x1_star = (solve(Eq(a[0],b[0]), x1))[0]
if type(x1_star) != float:
x2_star = (solve(m-(p1x1_star)-(p2x2),x2))[0]
x1_star = x1_star.subs(x2,x2_star)
else:
x2_star = (solve(m-(p1x1_star)-(p2x2),x2))[0]
print("x1 =",x1_star) # 4 x2
#x2_star = (solve(m-(p1x1_star)-(p2x2),x2))[0]
print("x2=",x2_star) # 2
print("кривая безразличия",utility)
#x2_star = x2_star.subs(x1,x1_star)
#x1_star = x1_star.subs(x2,x2_star)
#print("x2=",x2_star)
print()*тут нужно вывести
profit_max()
Нужно в функцию utility подставить уже получения значения x1_star и x2_star и вывести это принтом, как это сделать?
from sympy import
x1, x2, y, z, p = symbols('x1 x2 y z p')
def profit_max():
p1 = float(input("Введите цену товара 1: "))
p2 = float(input("Введите цену товара 2: "))
m = float(input("Введи доход (m): "))
utility = sympify(input("Введите функцию полезности x1, и x2: ")) # utility function U(x1,x2)
print("Utility: U(x1,x2)=",utility)
print()
Lagrange = utility + y(m-(p1x1)-(p2x2))
print("Функция Лагранжа для максимальной полезности: ")
print("L =", simplify(Lagrange))
print()
x1_foc = diff(Lagrange, x1) # solves the foc with respect to x1
x2_foc = diff(Lagrange, x2) # solves the foc with respect to x2
y_foc = diff(Lagrange, y) # solves the foc with respect to y (lambda)
###
#
# prints the Foc's, and x1,x2 solved respectively for y (lambda)
#
###
print("Систему линейных уравнений ")
print("--------------")
print()
print("[x1]: ",simplify(x1_foc))
print('[x2]: ',expand(x2_foc))
print('[y]: ',cancel(y_foc))
print()
a = solve(x1_foc, y) # Solves x1's foc for lambda(y)
b = solve(x2_foc, y) # Solves x2's foc for lambda(y)
print("Лямбда для x1: ",a)
print("Лямбда для x2: ",b)
print()
mrs = (p1/p2)
print("Отношение 1 товара к 2 = ",mrs)
x1_star = (solve(Eq(a[0],b[0]), x1))[0]
if type(x1_star) != float:
x2_star = (solve(m-(p1x1_star)-(p2x2),x2))[0]
x1_star = x1_star.subs(x2,x2_star)
else:
x2_star = (solve(m-(p1x1_star)-(p2x2),x2))[0]
print("x1 =",x1_star) # 4 x2
#x2_star = (solve(m-(p1x1_star)-(p2x2),x2))[0]
print("x2=",x2_star) # 2
print("кривая безразличия",utility)
#x2_star = x2_star.subs(x1,x1_star)
#x1_star = x1_star.subs(x2,x2_star)
#print("x2=",x2_star)
print()*тут нужно вывести
profit_max()
>Анон, вместо того, чтобы без разметки постить код, лучше шарь его через специальные ресурсы:
Извиняюсь
Помогите с переделкой чужого кода, в питоне не понимаю
Нужно в функцию utility подставить уже получения значения x1_star и x2_star и вывести это принтом, как это сделать?
https://pastebin.com/3nKhU7zX
>Нужно в функцию utility подставить уже получения значения x1_star и x2_star
Ты её нигде не определяешь и не сохраняешь без значений. В лоб можешь просто в конце написать
utility2 = sympify(input("Введите функцию полезности x1_star, и x2_star: ")) # utility function U(x1_star,x2_star)
print("Utility: U(x1,x2)=",utility)
>print("Utility: U(x1_star,x2_star)=",utility)
print("Utility: U(x1_star,x2_star)=",utility2)
В JS асинхронность, сделанная через промисы, именно в движке, причём там специальные оптимизации были сделаны для этого. В питоне там лишние прослойки питон-кода, исторически асинхронность через генераторы реализована была.
То есть в JS асинхронность внутри движка, а в питоне она налеплена снаружи, несколько более тормозная, тяжеловесная и менее полноценная, чем могла бы быть.
Но в целом некритично, наверное. Везде работает достаточно быстро. Ты больше времени тратишь на ответы БД и другие сервисы, подлкючения, на саму логику кода.
Давай значения, посмотрим, что там. Я почитал про sympy и нашёл оператор .subs, тоже может сработать.
Асинхронное при не часть js. А платформы, на которой он исполняется.
Асинхроннщина на основе uvloop blazing fast на любом языке.
Тоже недавно в Notion вкатился, сначала юзал как обычный туду таскер, а теперь ещё заливаю код сниппеты, рисую схемки, таблицы и вообще это реально охуенный и красивый блокнот.
Раньше дрочился со всякой говниной типа евернота, оненота, визио лол
Кривая безразличия должна быть такой после подстановки в utility x1,x2
180 = 2(10-x1)^2+3(20-x2)^2
И теперь тебе нужно подставить в функцию полезности x1, x2, и подсчитать результат?
Ну смотри. Sympy
https://docs.sympy.org/latest/tutorial/basic_operations.html
предлагает сделать вот так
utility.subs([(x1, x1_star), (y1, y1_star)])
utility.evalif()
Рекоммендуют обединить в одну. Но так понять проще.
>>599831
Там за каждую хуйню типа - зайти через браузер, зайти с телефона, с декстопа дают по $5 на счет, и еще что-то простое было, примерно полгода просто так можно получить, да и 2+к в целом за год я думаю не то чтобы слишком дорого, опять же зависит от того, насколько тебе такая тулза реально нужна, но как продукт он реально офигенный, мне кажется скоро похоронит все остальные аналоги.
Вообще там можно зарегаться по почте формата name@EDU.com или типа того, можно загуглить, и получишь бесплатный аккаунт безлимитный. Но сам так не делал.
Ну и если следовать рекомендандации
>To numerically evaluate an expression with a Symbol at a point, we might use subs followed by evalf, but it is more efficient and numerically stable to pass the substitution to evalf using the subs flag, which takes a dictionary of Symbol: point pairs.
то
utility.evalif(subs={x1: x1_star, y1: y1_star})
Друг, я загуглил и прочитал это прямо при тебе. Мне, конечно, просто повезло, но ты давай подтягивай свой скилл
>после шарпа
Попробуй больше кодить, попутно гугля.
За пример можно взять конструкцию на пикрелейтед: в таких случаях стоит возвращать -1 или строку с расшифровкой ошибки? Или вообще пусть возвращает None?
Ну, это, наверное, на случай, если ошибкам присвоены какие-то свои коды в проектной документации.
>>599978
Не первый раз уже вижу это "return -1" - на авторскую прихоть не тянет.
Я бы ещё понял, если бы речь шла о проекте, где заранее договорено, что функции с ошибкой должны возвращать -1 для того, чтобы имелась возможность как-то по особому регулировать исполнение, но на stackoverflow много таких примеров.
>Ну, это, наверное, на случай, если ошибкам присвоены какие-то свои коды в проектной документации.
Вот захочешь ты их присвоить, а у тебя все функиции возвращают None, и все обработчики ошибок ждут None. А так возвращаешь вместо -1, -5, или -7, и обработчики, которые ждут
if foo() < 0:
panic()
продолжат так же работать, а ты сможешь нужные дополнить выяснением, какой конкретно выпал код.
Это традиции строго и статически типизированных языков. Ты в таких не можешь вернуть None, если функция число возвращает.
Обычно если функция в норме возвращает 0 или положительное число, то возврат числа меньше нуля говорит об ошибке.
None, строку или чего ещё неудобно, у тебя получаются разные типы данных и на этом фоне может быть масса проблем, если ошибки чётко не обрабатывать. Тогда уж лучше кидать исключение.
Двач, в какие отрасли можно вкатиться, зная Python, Linux, SQL (при необходимости могу выучить ещё что-то)
Бизнес аналитика, дата инженеринг.
Дата саенс, девопс.
Что не так?
Потому что места заняты теми, кто это понял, когда вакансий было много.
Ну на питон довольно много вакансий, просто не в веб. Так-то он требуется часто много кому в самых разных сферах.
В вебе вообще много вакансий только на пыхе. В тырпрайзе там своя хуйня и ничего кроме джавы и шарпа особо не используется. Вот на эти три языка много вакансий.
Это развернуть список. А так да, хак. Питон вообще весь из хаков, приходи к нам в С.
Ебать я долбоёб братишка, земля мне
В общем пытаюсь runserver проекта на django, в итоге на стандартном localhost нема нихуя, пикрил1; далее в консоли выдает пачку каких-то на первый взгляд несвязных говен, которые венчает UnicodeDecodeError: 'utf-8' codec can't decote byte 0xc0 in position 0: invalid start byte, вся хуйня на пикрил2. Я новый новичёк, слабо знаю, слабо понимаю.
Что я делал: читал плаки каких-то мексов из 2007 (у них такая хуйня была при работе с postgreSQL), читал плаки какого-то пиндоса на стаковерфло (говнил .csv файл), читал плаки красноглазика (не мог удалить пакет обновления дров на видеокарте, пенил ртом и стучал кулачком по столу), переименовывал всё и вся с кириллицы на латиницу, лазил в реестре.
Мои предположения: 1. хуёвый кодек - не декодирует; 2. хуёвые либы - не декодируются; 3. дело вообще не в этом, я - хуй и надо просто смотреть на какой-то другой адрес которого я не знаю; 4. где-то серет ANSI/utf-8/кириллица/хуилица под сукном, в крысу передает как хост хуёвые имена в хуёвые переменные (на эту тему нашел два невнятных пука, что мол был когда-то такой баг, но пофиксили, еще вот похожий тред https://ru.stackoverflow.com/questions/886748/Не-могу-открыть-ни-один-django-проект-сами-проекты-енкодил-в-utf-8-но-не-помог )
Кажется теперь я в тупике, сосу.
Ну учись тогда решать рандомные проблемы, про которые никто ничего не знает, потому что никто такую ос не использует.
Научусь
По ссылке что ты кинул пишут, что юзверьнейм на кириллице не дает запустить проект. У тебя какой?
Окей. После переименовывания "всего и вся" ты перезапускал компьютер? Что выдает команда hostname?
В общем да, сменил hostname на латиницу и всё как надо, обошлось без головной боли и страстей.
Спасибо всем кто верил в меня и подкатил коляску помощи в трудную минуту.
>mmap
Системный вызов линукса, про "а ебани ка мне еще страниц памяти хочу аж трубы горят" от brk , который делает примерно то же самое, но пристыковывая к основной части кучи отличается возможностью мапить помимо оперативы еще и файл на диске. Самая низкоуровневая хуета которую ты можешь юзать в юзермоде.
> memoryview
Реализован поверх.
Нашел. autopct
>>601469
еще можешь попытаться поюзать https://jupyter.org/, но у меня были сложности с настройкой.
Благодарю
поддержка джанги есть только в платной.
r - это сырец, raw, тоесть если там будет какая-нибудь хуита вроде \n - то она будет игнорироваться.
А по регуляркам тогда как искать если их экранирования \s, \w и т.д. восприниматься не будут? Использовать двойное экранирование или что-то ещё?
Отвечали на это уже несколько тредов назад >>1582766 →
https://docs.python.org/3.7/reference/lexical_analysis.html
> Even in a raw literal, quotes can be escaped with a backslash, but the backslash remains in the result; for example, r"\"" is a valid string literal consisting of two characters: a backslash and a double quote; r"\" is not a valid string literal (even a raw string cannot end in an odd number of backslashes). Specifically, a raw literal cannot end in a single backslash (since the backslash would escape the following quote character). Note also that a single backslash followed by a newline is interpreted as those two characters as part of the literal, not as a line continuation.
Спасибо, читаю уже про while.
Да я нормальный, лол, просто интерес не нормальный. А без интереса не интересно, понимаешь ли. А так глядишь с интересом и питон выучу.
Не, ну правда, не смешно.
Скучно и однообразно.
Скрин чего? Я спарсил данные. Перевел в datetime, но вот как отсортировать не знаю. Смотрел оверфлоу через лямбду, но что то не заработало
Спасибо.
Делаю тут упражнение из A Byte of Python
Один и тот же код из cmd компилируется нормально, а в Pycharm выдает ошибку
zip is not recognized as an internal or external command,
operable program or batch file.
Прописал path в винде, там все работает из под консоли нормально, и в pycharm прописал вот здесь
File > Settings
Project Interpreter > Show all > Show paths for the selected interpreter > Add > Select Path
Все правильно же? Хуле он не видит, путь один и тот же указывал что и в самой винде. Погуглил разумеется, но кроме этой ошибки ничего не нашел
1280x720, 0:08
Ну да, ну да, разумеется нужно было перезагрузить pycharm, вопрос снимается.
Повезло, если увидишь - проходи мимо.
На питоне не принято работать по принципу "быстро слепить какую-нибудь парашу, втюхать и забыть". Потому что для этого именно PHP удобнее и все эти вордпрессы и прочая хуита, всю парашу именно на PHP-based фреймворках делают.
Это нужно для лёгкой и непринуждённой переносимости. Можно конечно напилить это всё ручками через пип, но зачем изобретать лесопед?
Анон, вроде в сети есть "Структура и интерпретация
компьютерных программ" (Structure and Interpretation
of Computer Programs) aka SICP, но на языке питона, можете дать ссылку, если есть такое
Эмм на русскую версию
Платина от вкатывальщика, но попытаю удачу: хочу пойти на курсы яндекс практикума по питону, т.к. ну совсем мало свободного времени из-за основной работы.
Кто-то проходил/сталкивался/слышал отзывы?
Мне всегда интересно, как курсы вам время увеличивают свободное?
Что-то поискал - на удивление мало контента.
Это шутка же, лучше никогда так не делать. Можно написать requirements.txt и устанавливать нужное перед запуском скрипта.
это вопрос кстати
Написать функцию, которая будет парсить каждое число и сравнивать. И какую-нибудь пузырьковую сортировку лол
Хотелось сделать всё это автоматизированным, чтобы скрипт
1) читал список импортированных модулей
2) определял к каким пакетам они принадлежат
3) Сверял список этих пакетов со списком установленных в системе
4) Устанавливал те пакеты, которых в системе нет
Я понимаю, что в этом есть что то от метапрограммирования, ведь по-сути данная функция читает тот же самый файл скрипта из которого она вызывается. И мне кажется что это настолько очевидная и необходимая вещь, что давно должна была кем-то реализована, могу, но не хочу изобретать.
> 2) определял к каким пакетам они принадлежат
В общем случае, так сделать не выйдет, у разных пакетов запросто могут попасться модули с одинаковым названием. Разумнее наоборот знать, какие пакеты нужны, и устанавливать уже их.
> 3) Сверял список этих пакетов со списком установленных в системе
> 4) Устанавливал те пакеты, которых в системе нет
Можно сделать легче. Так как попытка установить уже установленный пакет ничего не делает, можно просто всегда запускать установку по списку, и она будет доустанавливать только те пакеты, которых нет.
> И мне кажется что это настолько очевидная и необходимая вещь, что давно должна была кем-то реализована, могу, но не хочу изобретать.
По соображениям безопасности мело кто захочет автоматически тащить в систему что попало без своего ведома, поэтому если такое и есть, используется оно очень редко.
Ещё есть вариант с venv. Вместо того, чтобы на каждой системе устанавливать все пакеты заново, можно создать виртуальное окружение, установить всё в него и таскать его везде.
ну это реализовть просто. Снчала пилишь список необходимых к импорту модулей
import subprocess
imports = [sys, PyQt5]
потом узнаешь список уже установленных модулей
a = subprocess.Popen('pip list', stdout=subprocess.PIPE, shell=True)
a = ''.join(list(map(lambda x: x.decode('utf-8'), a.stdout)))
потом проверяешь наличие необходимых к импорту модулей в списке:
for i in imports:
____if i in a:
________import a
____else:
________a = subprocess.Popen('pip install {0}'.format(i), stdout=subprocess.PIPE, shell=True)
Далее это можно обыграть - например название модуля в pip и наазвание для импорта могут и часто отличаются. потому можно составить список imports в виде словаря, и хранить как название модуля так и слово для импорта. Во-вторых успешность устаановки можно таким же образом чекаать через stdout сабпроцесса.
но только нахуя это всё?
Какой ещё RabbitMQ, какая Scala, мы тут с импортами и функцией print() разбираемся.
Въебал (за неделю, кек) этот ваш Dive into Python 3. Нудно, скучно, дохуя воды. Дайте что-то поинтересней. Чтобы побольше замыканий и итераторов и поменьше парсинга xml-я.
Тебе будет легче просто почитать статьи по интересующим темам, большинство книг сделаны для вкатывальщиков.
Можешь флюент пайтон какой-нибудь навернуть
>Чтобы побольше замыканий
Замыкания актуальны в сложных проектах. А ты учишься тому, чтобы использовать замыкания ради того, чтобы использовать, где они не нужны. Типа умное слово. Усложняя логику кода.
ps: с замыканиями удобнее работать на JS, там они действительно к месту. JS построен на том, чтобы плодить тоннами функции внутри других функций, но это не python-way.
Логика замыканий в большинстве случаев удобно реализовывается просто через обычные объекты, и это более грамотный подход.
Хмм, а ты по приглашению? Я могу отнести резюмеху, а мне + маней дадуться ( А у тебя не будет телефонного собеса)
Я не он, но я бы хотел попасть в интел
тогда желаю удачи!
Слушай, я тут пробегаюсь по всей хуйне, вот этого хватит?
https://mml-book.github.io/book/mml-book.pdf
http://www.deeplearningbook.org/
плюс всякая хуйня по алгоритмам/структурам данных и синтаксису я думаю
>>604205
Не ври, там 3к только, если по инвайту и проходит чувак.
Неправда, я точно знаю, что не 3к
у меня проектов нет, у меня только хуйня которую я кодил по-немногу за все года вне университета и в нем.
Он :)
Да кого оттуда еще берут в интел, я хз в принципе. Это главный поставщик студентов похоже.
Да не, похуй вообще, самое трудное позади
Это задача для пакетного менеджера, а не для твоего скрипта.
>ps: с замыканиями удобнее работать на JS, там они действительно к месту. JS построен на том, чтобы плодить тоннами функции внутри других функций, но это не python-way.
Блин, а мне нравятся замыкания. Мне на жс перекатываться?
могу, xdivnilo
Как завести кэширование во Flask? Уже всяко пробовал, все равно выдает RuntimeError: Working outside of application context.
--- app.py ---
from flask_caching import Cache
app = Flask(__name__)
...
cache = Cache(app, config={...})
--- module1.py ---
from app import cache
@cache.cached()
def func():
pass
Структура проекта примерно такая:
app.py
|
myapp
|__module1.py
костыль которым я делаю:
a = []
for i in range(0, n):
a.append(0)
мне чтобы потом можно было a присваивать что-нить, пробовал без объявления и через a.insert(i, значение) делать, но оно неправильно как-то работает.
и ещё, почему пробелы (то как оформлять код) влияет на исполнение?
не поставил двух пробелов перед return в функции и ничего не работало. после условия не поставил и оно тоже не работало.
зачем эта попаболь?
for i in range(k):
a[0] = '!'
Все блять, разобрался матрица была по-уебански объявлена через звездочку
лул я довн. забыл прикрепить
Вы видите копию треда, сохраненную 14 апреля 2020 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.