F.A.Q. https://github.com/TheKnightsWhoSayNi/info/wiki/HatСвой код кидайте через https://ideone.com/Книги и ссылка на PyCharm: https://yadi.sk/d/tArKKuQu3KejuqПредыдущий тред https://2ch.hk/pr/res/1094248.htmlDjango 2.0: https://docs.djangoproject.com/en/2.0/releases/2.0/
Вечер в хату змеедавам.
Не прячьте ваш говнокод!
Разобрался с синтаксисом питона. Теперь нужно пару идей, для тренировки. Что можно сделать, не слишком сложное, чтобы потренироваться?
>>1102380Бочку.
подписался
>>1102380Борду запилить свою.
>>1102380Борду конеш.
Программисты, нид хелп, сам я не кодер и не знаю в чем дело.Пытаюсь запустить под виндой одну софтину, написанную на пайтоне, она требует модуль rtree. Его я установил через pip install Rtree‑0.8.3‑cp27‑cp27m‑win32.whl, но в итоге все равно получаю ошибку File "C:\Python27\lib\site-packages\rtree\core.py", line 116, in <module> raise OSError("could not find or load spatialindex_c.dll")OSError: could not find or load spatialindex_c.dllВесь интернет мне говорит, что под винду этот spatialindex_c.dll ставится через установку rtree, но я же ее уже установил. В чем дело?
>>1102414добавь Python\Lib\site-packages в path
Пацаны, помогите решить задачу. В общем, есть последовательность пар чисел. Некоторые из этих пар имеют общие элементы. Нужно вывести цепочки связанных пар по убыванию длины цепочки.Например, дана последовательность:[(1,2), (2,4), (5,4), (7,4), (3,8), (8,10)]Тогда вывод будет таким:(1,2), (2,4), (5,4), (7,4)(3,8), (8,10)Но цепочки могут идти и не последовательно.Анончик, молю, спаси, нужно для реализации скрипта.
>>1102485если список маленький, брутфорсом попробуй.мне кажется задача нетривиальная
Какой самый простой спсоб сделать так, чтобы нихуя на форму не налазило на странице, например картинка, или видео.
>>1102498Это вопрос про джанго?
Двач, помоги распарсить сайт.Нужно получить элемент h2 с номером транспорта и список дивов с классом item для каждого транспорта.Как можно это распарсить?Уже не один час туплю и все никак не придумаю.Использую bs и css селекторы. Не умею в xpath, но может он позволяет выбирать все блоки с таким то классом после n блока но до блока n+1 чтобы можно было выбрать блоки между элементами blockNumAvto?
>>1102485А что делать при наличии нескольких вариантах цепочки? Вот, например, [(2,3), (5,3), (7,3), (4,7), (5,4), (3,9)]Тут же и 2,3->3,5->5,4->4,7->7,3 может быть, и 2,3->7,3->3,5->5,4->4,7, и 2,3->5,3->7,3->3,9. Перестановка последних двух, опять же, позволит продолжить.Так что, как уже упомянулось, задача нетривиальная, тебе нужно ввести ограничения какие-то, если хочешь лёгкого решения.
>>1102485пройди по последовательности, сохраняй пару (начало цепочки, длина цепочки)потом сортируешь по длине и там уже выводишь можно еще что-нибудь оптимизировать, это первое в голову пришло
>>1102414Прыщеговно обрсралось, вот что произошло.
>>1102574http://wiki.python.su/Документации/BeautifulSoup
Нужен петонодрочер, чтобы разобраться со фласком, с меня горы нихуя
>>1102702Я разобрался, не благодари.
>>1102721Не благодарю
>>1102485>>1102489это очень похоже на задачу длиннейшего пути в графеона NP-сложная
>>1102574с братьями работай ежжеhttps://dpastov.blogspot.ru/2015/10/preceding-sibling-and-following-signling-xpath.html
>>1102702пиши вопросы сюда
Ничего не понимаю. Хочу установить pip, : python -m ensurepip> python.exe: No module named ensurepip: python -mpip install -U pip> python.exe: No module named pipИ так далее. Вообще модулей не находит.Качал отсюда: https://www.python.org/downloads/windows/> Windows x86-64 embeddable zip file
>>1102784вопросов будет много, вопросов будет всяких, хотелось бы коммуницировать где-то кроме двачей
>>1102802а мне хотелось бы за каждый ответ на вопрос получать по бетховенуне всегда получаешь то, что хочешьесть вопросы - задавай здесь
>>1102808в общем прогаю в Pycharm, пакеты все необходимые вроде как установил, интерпретатор подключил, когда импортирую модули в другие модули, выдает ошибку, зацикливания импортов вроде нет
>>11027883.6.3, если что.Ну и get-pip.py ничего не даёт, там много ошибок выходит.
>>1102810какую конкретно ошибку?>зацикливания импортов вроде нетвроде или нет?
>>1102829как я понял оно вообще тут не юзается, но в примере с которого я это все стащил, вроде как должно, да и модули не импортирующиеся это очень странно
>>1102835а возвращает он просто ноль, как я понял этот скрипт создает бд под каждую модель, но что то не работает
>>1102836>>1102835на 15 строке при вызове функции ты импортируешь modelsа в models ты импортируешь сам этот модуль
>>1102845как это можно исправить?
Django каждый раз для нового проекта заново устанавливать? т.е к примеру меня есть дирректория для проекта форума и есть дирректория для борды, каждый раз в эту дирректорию заново скачивать джанго?
>>1103112понял, все. Говном не кидайте
>>1103138расскажи что понял
>>1102380Выбирай
Нужна помощь в реализации следующего процесса:через фласк запускается задание, после чего редиректит клиента на страничку (ссылка уникальна) с результатом. формирование данных длится долго. как реализовать постановку в очередь выполнения заданий и проверку их выполнения? условия: нельзя запустить несколько "одинаковых" заданий в раз. пока выполняется хоть одно задание, новые не выполняются, а ставятся в очередь. результаты складываются в редис. есть предположение, что можно реализовать очередь отдельным скриптом и хранить данные об очереди тоже в редис. что я не учёл? может стоит как-то иначе делать?
У меня есть вопрос ГИПОТЕТИЧЕСКИЙДопустим гипотетическому Валентину захотелось бесплатно пользоваться полной версией PyCharm которая для Django, но которая платная.Как бы он это делал? Ключики китайцев регулярно баннятЧто бы Вы порекомендовали Валентину в его гипотетическом пожелании окромя хуйцов и платы?
>>1103330Взломать защиту, сообщить о её несовершенстве создателям для исправления и получить в качестве благодарности работающий настоящий ключик.
>>1103330Если валентин долбоеб, а он долбоеб, раз не умеет в гугл, то пожелаю только хуйцов. А вообще есть сервера для активации и они отлично работают.
>>1103330Если валентин студент, то он отправляет жидбрейнсам первую страницу зачетки и получает бесплатное пользование продуктами по программе помощи студентам
>>1103309Celery и один воркер
>>1103163django сам по себе "движок", т.е фреймворк является действующей интегрированной частью проекта, а не как сторонний "вспомогатель". :)
>>1103357>Celery вроде то, что надо. спасибо.
Начал изучать Питон и сразу не в понятках. Как в одной функции вытащить на экран значение переменной, находящейся в другой функции?
>>1102574Лучше посмотри в сторону модуля lxml - xpath, через суп можешь так:obj = BeautifullSoup(URL)obj.attrsattrs - h2/div/a все декларированные тегиИли пиши просто findall и в цикле проверяй что получилось (с итоговым списком, что он содержит)В суп также можно загнать регулярное выражение (через метод format вроде)Если у тебя данные все на 1 странице - лучше юзай тупо регулярки
>>1103330Палю годноту — xidea.online
>>1103387Может нужно вернуть значение из второй функции? У тебя функции обработчики потока данных, нахуя она тебе если ничего не делает? Не надо себя ебать абстракциями если пока не вкуриваешь ООП. Поймешь что такое агрегирование - сможешь уже ржать над авторами либ. Успехов.
>>1103392Ну смотри. Одна функция у меня делает вычисление и возвращает результатA=x+y где x+y при каждом вызове разныеДругая функция по нажатию клавиши вызывает первую функцию и возвращает что-то вроде "у васи было A яблок"так вот, как поместить в строку про васю значение А из той функции? Я чото вообще не пойму, хотя это должно быть что-то очень простейшее (я до этого программировал на блюпринтах в Unrel Engine 4 и там это было легко)
>>1103395Ну может и есть простое решение в рамках логики работы твоей программы но можешь попробовать сигналы и слоты.Короче делаешь типа такого:check_slot = QtCore.signal.connect(your_func) да так передаешь ибо ссылка аляdef your_func(A,B): emit(A) В другой области видимости подключаешься к слоту:blah-blah.connect(your_func)И при изм состояния функции будет принтится или что ты там хочешь показывать. Мб ошибся где но картина такая в целом.
>>1103390Спасибо, я примерно так уже и сделал.lxml не подходит т.к. на некоторых да почти на все блять сайтах ошибки в разметке, но bs их по крайней мере парсит.Хотя сейчас другой сайт так распидорасило, что я охуеваю. Благо относительная разметка не испортилась и можно так же в цикле взять все нужное.Регулярки точно не вариант, выдираю расписание автобусов, троллейбусов и т.д., там будут получаться километровые регэкспы.
>>1103330Сервера активации же, никаких кряков, дополнительных jarок и т.д.
>>1103403Спасибо, но я случайно нашел в американских интернетах.https://stackoverflow.com/questions/19946448/python-how-to-use-named-variables-from-one-function-in-other-functions
>>1103395>A = func(x,y)>print("U vasyi %d yablok" % A)??
>>1103403Вот это тебя понесно, в куте и слоты на вопрос о возврате переменной из функции.
Сап. Есть ли какие-нибудь библиотеки с итерационными решателями СЛАУ кроме scipy?
>>1103411Алсо, задача была написать бота к телеге, который считает время до события, вот такой код получился
>>1103417(лишнее я там поубирал есличо и переменные озаглавил, не кидайтесь говном)
>>1103417Есть массив, каждый элемент которого может быть массивом, каждый элемент которого... Ну и так далее. Нужна функция, которая извлекает из всех вложенных массивов данные и записывает в результирующий обычный массив. Но что-то мой вариант извлекает только из одного, лол. Всегда мучаюсь с рекурсией, но сейчас чую, что не осиливаю. Нид хелп, анчоусы!https://repl.it/repls/SlowMealyVicuna
>>1103418>переменные озаглавилВот этого вот не надо, у нас snake_case принято использовать.>>1103426https://repl.it/repls/MundaneWellgroomedShovelerЗа такое форматировние (на одной строке с if'ом) могут и словом нехорошим назвать.
>>1103426И это, ты неправильно рекурсию понимаешь. Она не должна передавать все предшествующее в следующую функицю, собрав окончательный результат в самой вложенной функции. Наоборот, каждая внутренняя выдаёт назад свой результат, который содержит всё то, что было глубже.Это по поводу передачи res'а в рекурсивный вызов.А второе: у тебя при попадании первого же списка вызывался return, на что ты надеялся?
>>1103430Ну маленькое присвоение может и на одной строке ужиться с маленьким ифом. Алсо, ты мне скинул то же самое, что и было у меня.
Есть ли Pyuic на windows для python 3.6 и QT 5.2.1?Ну или хотя бы для QT 4.5.0?Я уже пол часа ищу- найти не могу
>>1103417Умница
>>1103414Да ну а шо, пригодиться может ему, вое человек бота уже написал
>>1103437>Алсо, ты мне скинул то же самое, что и было у меня.Сорня, что-то не сохранилось после форка, интернет подставил. https://repl.it/repls/GenuineSteelblueAmazondolphin
>>1103436Вот этот момент для меня является камнем преткновения. Как в таком случае объявить массив, чтобы он не перезаписывался пустым при каждом вызове функции? Объявить-то его все равно нужно.
>>1103446Да тут каждый день по два ботописателя. Что с ними потом становится-то, куда они пропадают?
А как загуглить как делать мастера из пары шагов для джанго админки? Ну тип шаг 1 импорт цсв - выбери файлшаг 2 зацени че оно из цсв выгребло, поставь галочки че добавлятьшаг 3 столько-то записей добавлено, теперь статистика пересчитанная такая-то
>>1103448>Как в таком случае объявить массив, чтобы он не перезаписывался пустым при каждом вызове функции?А зачем он тебе не пустой? Вот вызвал ты первый раз свою функцию, создался список, который потом на выход пользователя пойдёт. В твоём что должно происходить? Либо добавляем элемент, если цифра, либо "обрабатываем список", чтобы потом его соединить с выходным. Функция обработки заключается в получении одномерного списка, чтобы все элементы были цифрами. Звучит похоже?
>>1103449Идут писать клеточные автоматы на жс, что же еще? Я не знаю, мне кажется что без внутреннего аутиста (маленькой йоты) и любви к логике мне кажется и 3 года не проработаешь прогером (и около того тоже)Ну я молчу уже про понимание архитектуры - UML, паттерны, вот это уже все, а это ближе к метатеориям уже. Шото сам поражаюсь, по сто тредов про умершие плюсы/питон, но те же люди не могут во что-то дальше циклов. А ну и да, все хотят мульоны за день заработать.
>>1103453>В твоём что должнотвоём циклефикс
>>1103447Опа, спасибо! Я понял суть, кажется. Ретурн же заканчивается работу функции, а мне заканчивать ее нельзя после первого раскрытия массива, нужно остальные еще обработать и добавить к промежуточному результату. Чуть лучше стал понимать рекурсию. Ну а второй параметр здесь все-таки обязателен или я чего-то не вижу, так?
>>1103453Звучит как и должно быть по плану.Да, теперь мне стало чуть ясней, спасибо. Сейчас выпишу значения переменных на каждом шаге и проверю себя.
>>1103456А все, не нужен. Список действительно пойдет пустой каждый раз. Нихуя я дебилушка.
>>1103438
>>1103456Ну посмотри ты шо будет при:if len(A) == 0: returnif len(A) == 0: return AНу шоты госпади, у тебя стэк - твоя лента данных грубо говоря, если функция возвращает что-то - проверяй свойства структуры данных которая возвращается (для булов и так все очевидно)Если работаешь с рекурсией - аккуратнее, у тебя каждый раз возвращаемый результат юзается с j-1 шага на j шаге (трассировка/отладка смотря как наблюдаешь) именно поэтому пишутся формулы вида:def junk(a):if len(a) != 0: - условие работы функции/логика функции return junk(a)*aif len(a) == 0: - условие выхода return TrueПримерно так рекурсия вызывается МАТИМАТИЧИСКИ просто ассоциируешь мат операторы со своими ВОЗВРАЩАЕМЫМИ значениями а не сигнатурами функций
>>1103456Нет, в данном случае не обязателен (мне лень было много кода менять).>Звучит как и должно быть по плану.Это я больше намекал на то, что "функция обработки" делает то же самое, что и должна делать "основная". Т.е., звучит похоже с описанием цикла из предыдущего предложения. Именно это и позволяет рекурсивно решить задачу.
>>1103463Ну у тебя простые примеры, и понятно что в них будет. Проверка свойств структуры данных есть, недопонимание было в другом месте, но вроде разобрался. Спасибо за советы в любом случае.
>>1103477Молодец, там где надо идешь
>>1103370молодец, ты познал путь джанги
Посоветуйте пиздатый парсер для хтмл и жс файлов.
Аноны, это нормально тратить ~110 сек на парсинг и кучу выборок/сравнений из таких вот двух файлов?Просмотр подробной инфы, говорит о том, что 46% всего времени тратится на _setitem_.
>>1103416Бамп
>>1102146 (OP)1
>>1103736Нет, у тебя что-то очень криво сделано.
>>1103736Тебе скорее всего надо использовать дикты.
>>1103741Разве со словарями будет быстрей чем через пандас?>>1103740Ну я вроде всё правильно делаю. Разбил большой датасет на два поменьше и с ними и работа, уменьшаю их засчёт выборок(причём выборка типа some_data == min(some_data), то есть сильно сокращаю датасет).Ну и вот такого плана:some_data['x'] = some_data.vlan_id.isin(other_data.vlan_id).astype(int)Но значений довольно много в принципе.
>>1103746Ну вот до ~86 секунд пофиксил время работы.Оптимизировал всё что можно и нельзя.
>>1103750Короче пока ты своё говно сюда не вкинешь никто явно помочь не сможет.
>>1103746> Разбил большой датасет на два поменьше и с ними и работа, уменьшаю их засчёт выборокА мог бы multiprocessing воткнуть.
>>1103759Ну да, ты прав, вот притянул.Пример КСВ файлов: https://pastebin.com/kMzp62PHСам говнокод: https://pastebin.com/TuXyaDn01 пик - условие.2 пик - спецификация файлов.У меня, пока, никаких мыслей по улучшению кода нет, возможно я проебался с алгоритмом.>>1103760Таки да, это на крайний случай приберёг, потому как совершенное не факт что он даст прирост скорости, у меня были случаи работы с файлом, когда мультипроцессинг наоборот всё замедлял.
>>1103813А, особо с имён переменных не проигрывайте, ещё поправлю, как найду решение.
>>1103746Там на скорость и dtype влияет, лучше передавай тип данных если есть возможность.
>>1103661Selenium + Lxml (xpath)Попробуй Scrapy но он говно тк там "regular get requests", наверняка уже вышел для 3+. Я его через шелл использовал, просто с лету инфу проверял.
>>1103330Мням, я был на собесе в одной фирме, поддерживающей свой джангосайт, так они ющали коммункти эдишн под виндой.
>>1103846И че теперь? А у меня информатику вел в школе в бородатом 2003м году мужик, который машинным или как его там? байт-кодом? сразу в блокноте мог программы писать мог.
>>1103842> dtype влияетНа выполнение участка кода с dtype тратится всего около 0,015 сек. Воооот, вся загвоздка всё ещё под этой штукой из кода:> for request_id, request_data in requests_csv.iterrows():>>1103813
>>1103813На первом скрине я видел у тебя 15к и 25к. В коде ты делаешь .append, что очень неэффективно, потому как с каждым элементом нужно всё больше и больше памяти ворочать для добавления (выделить больший участок и скопировать туда старое).Найди количество элементов, создай список нужной длины (если в пандас нельзя, то через list comprehension c None'ами, например, или через numpy), заполняй его элементами, а в самом конце уже сконвертируй в DataFrame через from_dict или from_items.Ещё можешь скинуть пример большого файла, который тормозит, чтобы желающие попробовали.
Тут кто-нибудь знаком с пистоновским cvxopt? Может поясните, дегенераты на стековерплов не знают:https://stackoverflow.com/questions/47631670/sliding-window-approach-in-cvxopt
>>1103867Пока что лучший результат ~70 сек.Вот большие файлы:http://rgho.st/8JmYgX9N8http://rgho.st/8SHdDMYHw> Найди количество элементов, создай список нужной длины (если в пандас нельзя, то через list comprehension c None'ами, например, или через numpy), заполняй его элементами, а в самом конце уже сконвертируй в DataFrame через from_dict или from_items.Вот за это огромное спасибо, антош, попробую.
>>1103870~50 сек.Уже получше, спасибо)Нормально ли это, аноны?
>>1103813откуда задачка?
>>1103892Найдено на просторах инета, pdf-ка и файлы.Теперь прилично времени отнимает drop строк, какие есть варианты по его ускорению?
>>1103895Сделал всё что смог.
>>1103938Вызов принят.
>>1103945Хах, ну ладно, жду завтра результатов и исходника.
>>1103813мне кажется надо сначала все цсв перевести в более подходящую структуру данных
>>1104010Ну так с ними вполне удобно, я их сразу считал, выделил датафрэйми с главным портом и датафрэйми на которых есть условия для резервирования(две одинаковых вланки на главном порте и дополнительном).https://pastebin.com/dPQkA0jWМой последний актуальный вариант.Забавно, на райзене х6 и 16 гигах оперативы - 27 сек, а на i5-4460 и 8 гигах оперативы - 35 сек.
подкиньте идей для дипломной работы
>>1104018я тебе не про удобство а про производительность
>>1103848Ну в пидорашке кто не может работать - тот учит. А тут люди за реальные деньги работают, клоун анонимный.
>>1104112Что ты имеешь ввиду конкретно, покажи пример или хоть что гуглить скажи.
>>1104018>>1103985Зачем завтра, держи сегодня. https://pastebin.com/5PUCpte21.8 секунды, из которых на сами вычисления <450мс тратится, остальное чтение/запись. Железо? Core2Duo P8400, 4GB RAM :3Если заинлайнить две функции в луп, можно, наверное, ещё сэкономить (фукнции в питоне ну оче медленные), но не хотелось совсем уж уродливо делать ради нескольких десятков мс.Твой код, для сравнения, за 95 секунд у меня выполнялся.А ты ведь всё равно append делаешь в своём коде. То, что я сказал, и к обычному списку тоже относится. Тебе нужно было бы сделать>out_list = [('request_id', np.zeros(num_of_out_rows)), ('...', ...), ...]И в лупе подсчитывать текущий индекс и длеать out_list[0-1-2-3][col][idx] = valueОднако, я попробовал, и это уже не является чем-то критическим, похоже, так как прироста к скорости на моём компьютере эта поправка не дала (в отличие от перехода с dataframe'ов на списки, где прирост действительно был).Справедливости ради, я боролся исключительно за скорость, а для этого пандас вообще выкинул, чисто на нампи всё. А у тебя задача, думаю, именно пандас выучить. Однако, мой подход, наверное, стоит-таки принять к сведению: я отсортировал по vlan_id и затем по device_id, а поиск девайсов на каждый новый запрос начинаю со строки csv, идущей после предыдущего зарезервированного, потому что какой толк мильон раз по массиву из 27к+ элементов каждый раз с начала пробегать? А твои поиски минимума для слайса DataFrame'ов, думаю, именно это внутри и делают, возможно даже гораздо больше больше.
>>1104175Алсо, доступ/установка значений в нампиевские массивы тоже не самое быстрое, так что замена out'а на список питоновских списков, а не np.array'ев, тоже позволяет ещё несколько десятков мс выиграть, если пичот (итого до 372мс на обработку реквестов после всех подготовок при самом удачном состоянии компьютера получилось).
>>1104175О как, спасибо за пример.У меня задача в принципе инструмент для работы с данными такого плана потрогать, видимо лучше к нампаю перейду.
>>1104255>видимо лучше к нампаю перейду. Ну так-то внтруи пандас numpy и используется, так что далеко не весь прирост обусловлен исключением пандас, скорее даже меньшая его часть. Помимо скорости, мне ещё лень было с пандас разбираться, если честно, как там эффективно именно эту задачу сделать, проще было влоб наслесарничать в обычных массивах.
>>1104283Ну в результате попробовал всё)Если бы ты ещё пару коментов оставил - цены бы не было коду, в плане информативности)
Анон, подскажи, что проще для начала изучить: Flask или Django?
>>1104285Да там, в принципе, всё примерно очевидно должно быть. Вот постарался всё подробненько описать, возможно чрезмерно, но как-то нравится мне иногда расписывать причины тех или иных решений, особенно по йобамикрооптимизациям, лол. https://pastebin.com/rENGjGmp Если чего не понятно — спрашивай.
Подскажите как сделать в tkinter так чтоб при нажатии на кнопку_1(с картинкой), эта кнопка удалялась и заменялась кнопкой_2(тоже с картинкой)
>>1104389Оба учи, делов-то, фласк за пару вечеров осилишь, джанго будешь мурыжить месяц но если привыкнешь к его жестокой диктатуре и документации исчерпывающе описывающей "как" но не "нахуя" то будет круто
>>1104408Спасибо
>>1104402Да, спасибо, я вчера в принципе разобрался, прогнав пошагово, теперь решил свое подправить.У меня была мысль ввести счетчика два(не додумался ночью как лучше внедрить и забил) и не удалять элементы а ввести какой-то флаг их состояния(ну а ты заменяешь юзаную строку 0).Есть только два вопроса по коду:1. 'vlan_info[primary] = b'\x00'' как это оно так всю строку на нули меняет? Где за это почитать можно?2. 'requests[:,1]' и как вот это работает так? Может это можно как-то нормально развернуть, понятнее, скажем так?
Вот еще вопрос: почему добавление элементов к массиву реализовано еще и через функции arr.append(25) и arr.extend([26,27,28]), хотя можно записывать: arr+=[25] и arr+=[26,27,28] ?Есть тут какие-то тонкости?
Есть здесь те кто в PyQT шарят?Есть QLineEdit в которую введён какой-то текст. Как получить из неё этот текст в какую-то переменную?
>>1104462>1. 'vlan_info[primary] = b'\x00'' как это оно так всю строку на нули меняет?Каждый элемент vlan_info это (указатель на) кусок памяти, отведённый под три int'а (32 3 байта). Соответственно, vlan_info[0][0] это байты 0-31, vlan_info[0][1] Это 32-63 и т.д. А вот vlan_info[0] это байты 0-95. Соответственно, если я напишу vlan_info[0] = b'', то будут перезаписаны все 96 байт. В данном случае, туда записывается 0.Тут байтоёбство немного, так-то можно было сделать vlan_info[0][0][2] = 0 и заменить только vlan_id, остальное не так важно, но это лишние символы, лишние доступы — медленно!*https://repl.it/repls/InsignificantThistleEnglishpointer>Где за это почитать можно?Не знаю, SICP какой-нибудь, лол.>'requests[:,1]' и как вот это работает так?Ну что же ты, матлабом не пользовался? Это просто индексация/слайс многомерного массива, эм, "одновременно по нескольким измерениям". Тут то же самое: берём все строки (первое измерение, как в list[:]), но только вторую колонку (второе измерение).В питоновских списках так нельзя, к сожалению.>Может это можно как-то нормально развернуть, понятнее, скажем так?В данном случае, так как нужнен только целиком столбец, можно транспонировать, сделав столбец строкой, и затем просто взять эту одну строку:requests.transpose()[1]Транспонировать можно было бы через zip, будь это просто питоновский список, не поддерживающий индексы через запятую.Но это спорное "упрощение", так как [:,1] общепринято и понятно. Потыкай матлаб иил R полчасика, привыкнешь, если до сих пор странно выглядит.>>1104465https://stackoverflow.com/questions/3653298/concatenating-two-lists-difference-between-and-extend
>>1104468Ну смотри что за класс и какие паблик методы? Мб weakref пригодится, но я не работал пока с этим.
>>1104476Помимо разметки, я тут ещё немного проебался:>vlan_info[0][0] это байты 0-31, vlan_info[0][1] Это 32-63 и т.д.vlan_info[0][[0][0], vlan_info[0][0][1] и т.д. и vlan_info[0][0] это на все 96. А vlan_info[0] это ndarray с указателями на эти куски памяти по 3 инта. Но так как он состоит из одного элемента, разница никакой нет.Сам запутываться начинаю.
> Ну что же ты, матлабом не пользовался? Не поверишь - не пользовался особо, когда-то по учёбе немного и всё.Добавил это> requests.transpose()[1]И вот подобное доабавил, как по мне - более python-way> vlan_info[0][0][2] = 0 Скорость буквально на 0,01 просела, ковыряю дальше)Спасибо за пояснения.
>>1104476>>1104487--->>>1104510
Сегодняшний туториал по фласку от гражданина Мигеляhttp://rgho.st/74gZGLngV
>>1103410Да, точно.http://blog.lanyus.com/archives/314.html
>>1104510Ну вот не знаю, адаптировал твой пример под пандас - всё так же медленно(при том что я только половину примера ещё переписал), он выдаёт 27сек.Сейчас переписываю на нампай его, но немного на свой лад и всё отлично, та же самая половина выдаёт 0,3 секунды.
>>1104563Братиш, ответь на вопрос: какой объем данных ты парсишь и для чего переписываешь пандас? Я вот тяну с интернетов sql-таблицы по полгига, и ничего быстрее и удобнее еще не встречал. Да, неоптимизированно, приходится часто менять apply() и map() на мап-редюс функцию и обертку к ней, чтобы потом сконкатить все это обратно в датафрейм. Однако я работаю на кластере, и мне важнее параллельные вычисления универсального характера, чем прописывать узкоспециализированную функцию для каждой таблицы под сишную numpy.
>>1104584> какой объем данных ты парсишьCSV файлики объёмом 300кб.> для чего переписываешь пандасПотому как странно медленно. Ладно с моим не самым лучшим алгоритмом, но вот я тут применил пандас на другой алгоритм и результат был лишь на процентов 30% лучше, но не дотягивал до того, что было с пандасом.Возможно и я где-то проебался всё таки (даже скорее всего так и есть), но сейчас вот допишу на нампае всё и посмотрим. Может всё же попробую применить туда пандас.Пандас мне понравился функционалом, но всё же хочется чего-то быстрого, да и аллергией на с/с++ не страдаю.
1. вариант с записью 0 в vlan_id;2. вариант с записью b'\x00' в vlan_id;3. твой вариант, не трогал вообще его.Как-то так, поищу литературу по numpy и алгоритмам вообще.Спасибо)
>>1104595Железо:
>>1104592>допишу на нампае всёЗапили гист плз. Может, и себе заимплеменчу.
>>1104584как же я не хочу мигрировать
Кто работал с Яндекс API ? Замутил перевод. Но он только частями переводит корректно.А частями странные знаки. https://ideone.com/d9oZSJ
>>1104597На вот залил, если стрёмно качать - чуть позже так выложу.http://rgho.st/78DCbQq9H
Ребят, есть у кого готовый пример круда в связке с html и Flask, кажется я обосрался с маршрутизацией в которую вписываются переменные
>>1104617бай зэ вэй, если примера нет, что не так с пикрилом и почему оно не работает? как это можно по-другому реализовать?
Итак, есть проблема.Есть PyCharm. Я создаю документ, и справа вверху могу нажать кнопку запуска, дебагга и все идет по плану, пикрил1. После этого я создаю другой документ, перехожу на него, пишу код, но кнопки справа всё еще указывают на первый документ, который мне уже не нужен для запуска, пикрил 2. И чтобы запустить его конкретно, мне надо через Alt+shift+F10 заходить и выбирать определенный файл.Как можно настроить PyCharm, чтобы при переходе с одного файла на другой, кнопки сразу становились активными, дабы я производил меньше манипуляций?
>>1104696Можешь делать пкм в нужном файле и запускать
>>1104510>Не поверишь - не пользовался особоДа это я пошутил неудачно.>как по мне - более python-wayКак говорится, nyet. А если нужно выреза кусок строк среди некоторых колонок? Это нужно слайсить, транспонировать и потом ещё раз слайсить. Лишние действия, шире строка, менее очевидна, собственно, задача.Серьёзно, такой слайсинг это самый нормальный путь, штандарт, научись/привыкни и применяй. >Скорость буквально на 0,01 проселаА в процентах? Пара процентов тут, пара там, и вот оно и набежит. Ну, конечно, это уже я так, если делать нечего. Но забывать, например, о лишних операциях, повторяемых по миллиону раз-таки не стоит, пускай питон и не для перформанса как бы.>>1104563>адаптировал твой пример под пандас - всё так же медленноТак а что ты адаптировал-то, покажи код? Как бы, в моём случае я прохожу один раз (ну ладно, два, на самом деле) по массиву и что-то там сравниваю. Один проход хоть по стотысячному массиву это сущее ничто. Добавит там проверки, туда-сюда, ещё там десяток микросекунд на элемент добавится, но это всё равно мелочи. В твоём изначальном коде ты кучу всякой фигни лишней делалась при обработке каждого запроса, и вот именно она занимает всё время, а не сам пандас или нампи или что угодно (ниже тайминги ещё будут). Т.е. проблема в алгоритме, а не инструменте. Вопрос в том, позволяет ли пандас в некостыльном виде реализовать то, что надо.>>1104584>важнее параллельные вычисления универсального характераИ это правильно, да, но разница в 2+ порядка это-таки не круто: минуту или полтора часа сидеть ждать, разница существенна, мне кажется. От задачи зависит, конечно, может там 5 часов адаптировать, чтобы сэкономить час компьютерного времени.>под сишную numpy.В основе всего питоновского научного тулкита лежит нампи, он везде есть и везде используется. Алсо, нампи далеко не всегда выигрывает по скорости даже у чистого питона.>>1104604Не получается разахривировать чего-то.Так, по поводу пандас/нампи/скорости. Я переписал своё решение на чистом питоне. https://pastebin.com/Fw1rkzcf результат:>total 0.34sec: reading: 184ms, processing: 115ms, writing: 44ms(Против total 1.88sec: reading: 1163ms, processing: 431ms, writing: 289ms на нампи)В почти 6 раз лучше, сама обработка вычисления в 3.5-4.Вывод? Ну, очевидно, что частное решение будет эффективнее, чем обобщённое. Плюс я уже упоминал, что тот же доступ к элементам массивов нампи довольно медленный.
>>1104742>Вопрос в том, позволяет ли пандас в некостыльном виде реализовать то, что надо.Точнее, не "то, что надо", а "только то, что надо", с незначительным количеством лишних оверхедов.
Я не понимаю что такое Numba и как она работает... кто ни будь, может доходчиво объяснить принцип?
Начал изучать Django. 2 неделиЧитаю документацию, смотрю на youtube. Нихрена не понимаю. Сейчас главная проблема: я не могу подключить шаблон с готовым сайтом.Буду рад ссылкам на нормальные руководства
>>1104742> Серьёзно, такой слайсинг это самый нормальный путь, штандарт, научись/привыкни и применяй.Видимо придётся.> Так а что ты адаптировал-то, покажи код? Так сразу переписал на свежий, но может ещё раз напишу, ради интереса и практики.Насчёт своего алгоритма согласен, более чем, я всё же поторопился с ним, хотя некоторые идеи считаю неплохими. Буду дальше развиваться и может приду к чему хорошему.Вот код перезалил, примеры есть выше, если кому интересно:https://pastebin.com/TwSiS9zb> Я переписал своё решение на чистом питоне.Спасибо, буду разбираться
>>1104800Твой новый скрипт, таки неплохо
>>1104801Блин, так близко, теперь до <100мс на твоём железе довести хочется, лол.>>1104800>Вот код перезалилА где пандас? Я хотел посмотреть на то, что вроде бы адаптировано, но всё равно те же 27 сек.Алсо, я там перемудрил с сортирвкой, можно ж было просто:>sorted_vlans = vlans[np.lexsort(vlans[:,0], vlans[:,2])]lexsort возвращает индексы элементов в нужном порядке, поэтому и слайсим vlans.Это избавит от необходимости делать info = info[0] в цикле. Правда, нельзя будет уже байтами писать, но оно и не нужно.
Анон, что заполняет литературу на яндекс диске, тут новый туториал по Flask вышел, можешь добавить http://rgho.st/7lrSryy88
>>1104867Так я ж говорю, с пандасом сразу его переделал под то что есть. Может напишу еще раз.> Блин, так близко, теперь до <100мс на твоём железе довести хочется, лол.Я б посмотрел на такое)Кстати, скорость выполнения этих решений совершенно не отличается на двух машинах моих, на райзене которая и на i5, что тоже интересно, ибо при прошлом решении разница была в 12 сек.> Алсо, я там перемудрил с сортирвкой, можно ж было просто:>sorted_vlans = vlans[np.lexsort(vlans[:,0], vlans[:,2])]Окай> Правда, нельзя будет уже байтами писать, но оно и не нужно.Но так же быстрее)
>>1104867>>1104899В асм-тред.
>>1102146 (OP)https://ideone.com/D5faGn Что я делаю не так почему у меня ошибка в принте? и не пишет в файл
>>1104909Скобки посчитай, блин.
>>1104909>и не пишет в файлА ты где-то пытаешься писать в файл? Я не вижу.
>>1104911>>1104910Парни как хорошо, что вы тут:https://ideone.com/UmX33vРасклад поменялся, теперь я циклом открываю все Листы\Sheets in Exel \ xlsx фале. До 5-6 листа парсер срабатывает, записывается в файл, а дальше ошибка в аттаче. Как бы этих листов 1000
>>1104915import xlrdimport pandas as pdи ебошиш
>>1104915А у меня в строку пишется Нон тайп, ему нужно менять тип на строку.
>>1104916>и ебошишЧем отличается?
>>1104918Предсказуемостью
Все сработало, просто я не внимательный пагни(Как думаете, если я этот парсер написал за 2-3 часа, не разу не запуская пайтон в жизни из меня получится программист?
>>1104919Там нон тайп пищется в строку и пишет в файл её я просто преобразовал и офигел от быстроты питона 1000 шитов за 2 минуты.
>>1104920Да.
Пагни, а как например из строки "Это моя первая страничка" сделать url транслитом eto-moya-pervaya-stranichka ?
>>1104925В джанго есть специальная херня для этого.
Где готовый сайт на Django найти? А то не могу некоторые моменты понять.
>>1104928читни django by example - там 1 глава - 1 сайтТак просто "из загашника" че есть: https://github.com/Tenma-Server/Tenmahttps://github.com/andyalam/django_instagramhttps://github.com/matagus/django-planetИз хайлевельных примеров есть очень крутое https://github.com/gothinkster/django-realworld-example-appНу и вообще никто не мешает загуглить на гитхабе "django + ключевое слово че там у тебя за сайт (блог, екомерц, лмс, ну ты понял)"
Я вам интересностей принёс.
Перезалейте архив на гуглдрайв плиз.
>>1104941>интересностейГде?
Да объясните же кто ни будь. Numba и как она работает... кто ни будь, может доходчиво объяснить принцип? Прочитал что она может заменить интегрирование С в питон, но я не понимаю как она работает и не могу найти годный мануал по ней на русском
>>1104899Хехе, победа. Меня тут осенило - а зачем я, собственно, в числа-то всё перевожу? Это ведь только для сортировки правильной нужно, так что лучше там пожертвуем десятком мс, зато на чтении и записи 50-80 экономим!Лучший результат на i5 (прошлая версия 0.14-016, как и у тебя на скрине):total 82ms: reading: 27ms, processing: 51ms, writing: 3msНо в среднем ~90. Больше уже, по-моему, ну совсем нечего убирать. Заодно и код похорошел и короче стал!https://pastebin.com/FYnMgje0>Но так же быстрее)Ну, уже не обязательно, ведь вложенность меньше стала, а значит и доступов меньше происходит. Тестировать уже, разумеется, не будут, хватит с меня.>>1104967>на русскомУчи английский, что ж тут поделать. Если ты даже понять, что это, и хоть по примерам с сайта с документацией потыкать и хоть как-то разобраться не можешь, то брось. Какой смысл, по каждой мелочи сюда прибегать будешь?
>>1105021Просто нет слов...
>>1102146 (OP)Сап, сессия на носу, а значит время ахуевших вопросов от студентов пришло.В пн экзамен и на него надо принести сайт с бд, который я якобы пилил 3 месяца. Сейчас пытаюсь найти какой-то темплейт на джанге или хоть чему-то, если не получится - попытаюсь за 2 дня напилить блог по гайду, пока получается очень плохоСОбственно вопрос: если у кого-то есть рабочий сайтик на джанго или фласке, будь добр, выручи. Мне всего-то показать его надо, чтобы отьебались и не выгнали с шараги. Понимаю, что просьба очень ахуевшая, но вдруг кто-нибудь откликнется
Сап, аноны, как достать данные залогонившегося через flask-login юзера?
>>1105122чувак, просто идёшь на гит и начинаешь искать по тегам нужный тебе код."https://github.com/Tenma-Server/Tenmahttps://github.com/andyalam/django_instagramhttps://github.com/matagus/django-planetИз хайлевельных примеров есть очень крутое https://github.com/gothinkster/django-realworld-example-app" взял из треда ньюфагов
Питончан, как там правильно работать со строками? Через requests и json получаю объект со строками, потом transliterate.translit в латиницу, потом я начинаю делать split, а у меня Unicode Encode Error. Как это работает? Я пробовал использовать разные кодировки, меняются только строки, на которых падает скрипт. Какое может быть универсальное решение для этого?
Поясните как сделать быстрее/правильнее.Задача Given a list of integers and a single sum value, return the first two values (parse from the left please) in order of appearance that add up to form the sum.мой кодdef sum_pairs(ints, s): for x in ints: if x + any(ints[1:]) == s: return [x, s-x]
>>1105284Проблема в том, что там есть тесты с длинной списка в 10 лямов и получается оче долго из-за чего кодеварс не хочет принимать ответ.
>>1105284>x + any(ints[1:])лолшто. Что, по-твоему, делает эта функция? В доки не заглядывал, случаем?
>>1105285Ты, в принципе, в правильном направлении пошёл, пытаясь сравнить текущий со всеми последующими. Просто (не) реализовал это через жопу.В худшем случае, если нет никакой информации о входных данных, нужно будет произвести n^2 сравнений. Быстрее никак.Если диапазон чисел гораздо меньше количества элементов (т.е. есть много повторов), то можно, например, создать побочный список с "неподходящими" элементами, и каждый следующий элемент сперва пытаться найти в этом списке. Ещё после первого прохода можно записать максимальный и минимальный, и в случае, если текущий не попадает в диапазон [sum - max, sum - min], сразу пропустить его, ну а если равен одному из крайних значений, то решение найдено и при необходимости можно ещё за один проход найти индекс ближайшего подходящего.
>>1105322>n^2 сравненийой, не n^2, а n°(n+1)/2 - n (сумма чисел от 1 до n-1).
>>1105285Алсо, скинь ссылку на конкретную задачу на codewars.
>>1105322Хотя пересмотрел всё решение, ступил я чо-т: всё там можно быстро сделать, безо всяких n^2, как раз с помощью записи уже увиденных чисел в подходящий контейнер.
>>1105284Я сначала подумал, что это велосипед, и проще импортировать каунтер
>>1105284За NlogN делается на раз-два.next([x, s-x] for x in ints if (s-x) in set(ints)]
Я, наверно, не вовремя, вся борда студентам помогает зачёты закрывать... но всё-таки, может, есть кто сталкивался: осваиваю С-расширения для питона, надо портировать уже существующую кодовую базу, всё шло хорошо, пока не дошло до функций, использующих OpenMP. Суть в том, что один и тот же библиотечный сишный код вызываемый из сишной же программы с включенным OMP ускоряется в 2-3 раза (на 4 ядрах), а вызываемый из питона (CPython 2.7) - вовсе замедляется в разы. Из top видно, что грузится только одно ядро при вычислении (хотя с хера ли замедление...)Гуглю пол дня, GIL отключаю (вроде бы), делаю как в примерах со всяких стековерфлоу и каких-то бложиках, в итоге ужал до минимального примера: https://pastebin.com/gYxgSyGjЧЯДНТ? Для отключения GIL достаточно PyEval_InitThreads и Py_BEGIN_ALLOW_THREADS? На него пока грешу, но кроме этих указаний в документации ничего не вычитал, а они не помогли.Надежда на двач родимый осталась.
>>1105422>Надежда на двач родимый осталась.Пиздец как в воду глядел, только запостил свою хуету, как сразу дошло, что time.clock() даёт время отдельного ядра, а с OMP надо использовать time.time(), и тогда всё совпадает.Спасибо, двач! пиздец
>>1105414У тебя квадратная сложность. Сет каждый раз генерится, для этого он пробегает по всему списку. Вынеси его формирование за лист компрехеещон
>>1105414Чому NlogN-то? Ты всего два раза по списку проходишься: при создании set'а и при, собственно, поиске слагаемых, а x in set O(1), так что линейная сложность же.
>>1105470Эти два раза вложены. Квадрат тама получается значится.
>>1105493Не, ну если по-человечески сет вне лупа один раз сделать, я имею в виду.
>>1103330Посоветовал бы наверное Валентину ЖИВИМ или СУБЛИМЕ ЕДИТОР 3
>>1105434> Сет каждый раз генеритсяНу нашёл к чему придраться. Суть-то понятна. На самом деле задание не оче ясное. Если нужную сумму дают 1-ое и 4-ое, а также 2-ое и 3-е, то что надо вернуть?И тогда уж не квадрат, а N^2*logN.>>1105470> поиске слагаемых, а x in set O(1)Чудеса в решете, премию Тьюринга в студию г-ну Гвидо, он накрячил всю вековую историю теории информации и алгоритмов.
Добрвый вечер, анон, я тот аутист с кодеварс вчера, спасибо за все ответы, я их почти понял, но возможности проверить всё равно нет, потому что ещё вчера скипнул.Но, так как я даон, то сегодня ситуация повториятся с другим примером.Как блять научиться писать нормальный код на питоне? Доки стараюсь читать, честно.Собственно мой кодhttps://pastebin.com/BBJ4G0ZpЗадание:https://www.codewars.com/kata/55aa075506463dac6600010d/train/pythonDivisors of 42 are : 1, 2, 3, 6, 7, 14, 21, 42. These divisors squared are: 1, 4, 9, 36, 49, 196, 441, 1764. The sum of the squared divisors is 2500 which is 50 * 50, a square!Given two integers m, n (1 <= m <= n) we want to find all integers between m and n whose sum of squared divisors is itself a square. 42 is such a number.The result will be an array of arrays or of tuples (in C an array of Pair) or a string, each subarray having two elements, first the number whose squared divisors is a square and then the sum of the squared divisors.
>>1105610Откуда логарифм-то? Он проявляется, когда есть дерево, например при бинарном поиске. В твоём примере этого нет.И проверка на вхождение в множество в питоне действительно о(1) от числа членов множества кроме случаев с коллизией.Короче или сам разбираешься со сложностями и алгоритмами, или пруфай свои заявления.
>>1105613Выдели проверку на квадрат в отличие функцию. Выдели разложение на множители в функцию.
>>1105610Что значит нашел к чему придраться? Мое замечание меняет твои волшебные н лог н на квадрат. Это не мелочь, это непонимание основ.
>>1105634В отличие = в отдельную
>>1105610>Чудеса в решете, премию Тьюринга в студию г-ну Гвидо, он накрячил всю вековую историю теории информации и алгоритмов.Это типа сарказм? https://repl.it/repls/BruisedAdventurousBittern На бóльших множествах можешь у себя локально проверить.>Если нужную сумму дают 1-ое и 4-ое, а также 2-ое и 3-е, то что надо вернуть?2-ое и 3-е, так что твоё решение ещё и не подойдёт (но ты условия целиком не знал), поэтому люди сет набиват по мере прохода и ищут второе слагаемое среди уже прошедших. https://www.codewars.com/kata/sum-of-pairs/python>N^2*logN.Да откуда ты логарифм-то берёшь, N^2 это уже по обходу списка на каждый элемент, куда больше-то?
>>1105613В цикле поиска делителей не обязательно проходить по [1, n) - хватит проверить [1, √n]https://pastebin.com/tmY56dxy
>>1105637Щас он скажет что успешно нас затролел.
>>1105638Бля, я тоже об этом подумал, только проверку не смог нормальную написатьdivisors.append(q2)if int(x/q) not in divisors:Спасибо, так работает.>>1105634Попробую получится ли быстрее, но тот что предложили, в принципе, для решения достаточно. А почему вообще должно быстрее получится?
>>1105122Нашел отличное для себя решение на гите: простенький бложик на фласке. Уже более-менее разобрался со всем.Только есть одна проблемка тут не реализован метод удаление постов или хотя бы редактирования. Я в принципе представляю как это сделать, но что-то трогать там очень боюсь. Может кто, помочь дописать?https://github.com/(удали)ghostrong/weblog <-собственно что я украл.Там есть publish.py и в models.py чет написано, я так понимаю нужно что-то похожее сделать только наоборот
>>1105643>if int(x/q) not in divisors:Это же проверяет наличие x/q, но ведь у тебя в массиве хранятся квадраты делителей, а не просто делители т.е. надо if (x/q)2 not in divisors:
Устарел ли Лутц? Что на замену выбрать?
Есть итт, кто занимался ботами для Telegram?Есть затык в inline-режиме. Везде можно отправлять аудио и прочие файлы прямо с жёсткого диска, но в инлайне можно указать только URL до файла или ID на серверах Telegram. Что делать, если мне надо грузить звуки с жёсткого диска?
Что надо знать чтобы поехать в СПБ и за месяц найти там работу за 100к?Знаю Рест фреймворк, Q и F объекты. Сейчас изучаю Docker/Celery/RabbitMQ (личный проект)джанго-джуниор из провинции
>>1105705Поднимать фтп на виртуалке либо ебаться с апи.
>>1105643Получится не быстрее а структурированней
>>1105766В АПИ нет ничего такого. Поскольку сам сервер за NAT, могу выгружать на VPSку. А там 100ГБ/месяц лимит.
>>1105705>>1105766>>1105772Попробую transfer.sh, короче.
Есть задача:N ступенек в лестнице.Человек может пройти как по 1, так по 2, так и по 3 ступени, в общем шаг его К ступеней.Чтобы найти все комбинации К в N это два цикла делать?
>>1105781Эх, хуевая идея. Я заебусь вот это все загружать.Тогда закачаю все звуки на ВПСку, создам там JSON-файл с их описанием и путями и подниму там сервер. Буду оттуда тянуть.Что там для статики поднимать? nginx?
>>1105815Ты что, пидор?
>>1105816То есть?no, fuck you, leatherman.Я inline-soundboard для Telegram делаю. Пока жожа и гачи, как самые меметичные.
>>1105815апацх, нгинх, да хоть тфтп - был бы бекенд подходящий
>>1105821Да мне похуй, что там будет. Просто статика.Ща нгинкс настраиваю.
>>1105815S3 амазоновский не проще?
>>1105845А нахуя, если я уже 30р/месяц плачу за впску?
>>1105802почитай статью про комбинаторику, это все в одну строку решается
>>1105861У тебя дано K вариантов шага и их сумма должна быть равна N. Без последнего ограничения это комбинаторика. А с ним уже рюкзак.
>>1105882>Без последнего ограничения это комбинаторика. А с ним уже рюкзак.Спасибо.
>>1105888Это скорее особый случай рюкзака, возможно, есть простор для оптимизации
>>1105848S3 вроде бесплатный есть на годну МОСШТОБИРУЕМОСТ АТКАЗАУСТОЧИВАСТ
>>1105893Да я будто руками эту ОТКАЗОУСТОЙЧИВОСТЬ не сделаю.Мне, если честно, проще 30 рублей каждый месяц платить: зато свое.Зачем мне маштабировать статику?
>>1105896apt люто медленный по сравнению с pacman, кстати.
код небольшой, потому можно извратиться и кинуть сюда:n=int(input())a=['.'n for i in range(n)]for i in range(n): for j in range(n): a='' a[n-i]='' a[(n+1)/2]='' a[(n+1)/2]=''for i in a: for j in i: print(j, end=' ') print()задача: pythontutor.ru/lessons/2d_arrays/problems/snowflake/сначала думал сделать через if, но намного экономнее (по ресурсам) сделать вот так (там в уроке об этом написано, ага). второй цикл это просто вывод двумерного массива. не в этом суть. мне на строке 5 (т.е. a='') выбивает ошибку: 'str' object does not support item assignment. подозреваю, что во всех остальных местах, где я пытаюсь присвоить а[какому-то][какому-то] какое-то значение, будет выдавать такую же ошибку, но сути я её не понимаю. как тогда сделать?
>>1105901лучше в пастебин всё-таки зальюpastebin.com/Fj8mk4mD
>>1105901НЕЛЬЗЯ. НИКТО НЕ СОБИРАЕТСЯ ДУМАТЬ, ГДЕ ТАМ БЫЛИ ПРОБЕЛЫКогда вы, блять, запомните.
>>1105903уже
>>1105901Ну так ты генерируешь список, состоящий из строк, при инициализации во второй строке.
>>1105928можно чуть понятнее?тут ещё пишут:Строки в Python неизменяемы. Нельзя присвоить что-нибудь отдельному символу строки. Чтобы изменить символ, используйте срезы: text = text[:4] + '$' + text[5:]но мне всё равно непонятно. а если вся строка -- это один символ, и мне нужно просто заменить его с одного на другой?
двачик, помогину тупая же и очевидная проблема, а я всё равно не понимаю
>>1105901>вывод двумерного массиваУ тебя нет двумерного массива. У тебя есть список строк. Алсо, ты в курсе, что у тебя j нигде не используется?>>1105952Куда подробнее? Строку изменить нельзя. Ты можешь изменить элемент массива, можешь изменить значение переменной, можешь создать новую строку путём некотороых манипуляций над исходной и присвоить её той же переменной.>а если вся строка -- это один символ, и мне нужно просто заменить его с одного на другой?ну, ээ, text = твой_символ.
>>1105952А зачем тебе вообще использовать строки?Что такое:> двумерный массив?
>>1105802>>1105861>>1105882Может, мне кажется, но есть решение проще. Частный случай этой задачи, если К == 2, это числа Фибоначчи, из этого можно сделать такое решение: сначала заполняешь начальными значениями массив из К чисел (b[0] = 1, b[1] = 1, b[2] = b[0]+b[1], b[3] = b[0]+b[1]+b[2], ...), потом (i == K+1) суммируешь предыдущие К чисел, и так, до i == N. но это не точно
Поясните за comrehensions, что не так с этим, как переписать?initial_dict = {key: value+shift if value+shift <= CONST else key: CONST - value for value, key in enumerate(string.ascii_letters) }
Здравствуйте,есть скрипт: from subprocess import Popen, PIPEf = open('log_tree.txt', 'w')with Popen(('c:\\','cd', 'tree'), stdout=PIPE) as proc: f.write(proc.stdout.read()) f.close()Выдает ошибку: PermissionError: [WinError 5] Отказано в доступеКак мне повысить права через скрипт?
>>1105896>>1105815Даже скрипт для автосоздания JSON накатал, лол.Осталось допилить бота.
>>1106084Не поверите... TELEGRAM СЖИРАЕТ ЗВУКИ ТОЛЬКО ИЗ VK.COMТо есть даже звуковое превью из меню выбора есть, а при отправке — ошибка. Без описания. Пикрелейтед.Короче, написал разработчику.
>>1106032использовать линукс
>>1105731Ну ребята, ну что же вы не отвечаете.
>>1106317Ты никому не нужен, твоя мать шлюха, а отец наркоман.Ищи вакансии и смотри требования.
Сап, программач, хочу начать изучат ваш змееязык, вот думаю с какой книжки начать.Есть небольшой опыт в Си и в js, что посоветуете для такого как я?
>>1106333Эй, программист, попробуй заглянуть в шапку.
>>1106336Заглянул,но не врубил что из этого нужно именно для начала изучения основ,заебло тыкать на фреймворки и т.п.
Господа программисты!Что из предложенных вариантов проще? Кроме "Визуализация физических процессов при помощи библиотеки визуализации PyQtGraph"
>>1106338
>>1106342Благодарю
>>1106340если ничего не знаешь из этого*
Как избавиться от .setStyleSheet('border: none;')? Не хочу передовать строку в эту функцию. Это выглядит некрасиво. Можно сделать то же самое вызовом одной функции?
вечера, коты, тут такое дело, нужно запилить бота для телеги и управлялку им, я быстро склепал бота и админку для него, но чет хз как его запускать.То есть у бота есть метод updater.start_polling()который блокирует поток выполненияя пробовал запускать бота в urls.py уровня проекта, тогда не выполняется нифига, даже в админку не зайти, если выполнить на уровне приложения, то не будет доступа к моделям, не будет возможности сохранения и добавления новых сущностей в бд.сейчас быстрый костыль выглядит так что я сделал модель для бота с полем is_active, и методом save такого видаhttps://jsfiddle.net/oarodfph/но как вы понимаете, pid постоянно проебывается и все остальные радости могущего откинуться в любой момент рантайма. Нужны короче идеи как бы все это сделать нормально
>>1106340>Zope>Ploneты из какого века капчуешь?
С удивлением обнаружил, что в питоне многие методы называются также как в Си, прикольна!
>>1106340соцсеть на джангокачаешь книженцию django by example там тупо одна глава соцсеточка для любителей картинок с фолловингом лентой и всей хуйней
Какая либа позволяет писать в консольку цветом, использовать псевдографику и делать менюшки? Важна именно консолька.
>>1106391http://urwid.org/
>>1106393Благодарю от чистого сердца, друг мой.
Сделал такlabel = QLabel(self)label.setPixmap(QPixmap('background.png'))Теперь осталось сделать чтобы эта картинка заполнила всё окно и при этом чтобы при изменении пропорций окна эта картинка тоже гнулась продолжая заполнять всё окно.
>>1106402Забыл спросить. Как это сделать?
>>1106403label.setScaledContents(True)Сегодня что, в гугле массово банят?
>>1106407Пробовал. И другие советы из гугла пробовал. Не сработало.
>>1106408Ну значит пиши каштомный виджет и переопределяй метод paintEvent как тут https://stackoverflow.com/questions/44505229/pyqt-automatically-resizing-widget-picture На 4-ых кутях оно помнится точно работало, на счет 5-ых хз.
>>1106411Зачем здесь QVBoxLayout? Без него почему-то не работает. Ещё у меня кнопки поверх изображения. Можно сделать чтобы они перемещались по экрану по мере изгибания изображения чтобы они всегда были поверх одной и той же области на изображении?
двачик, срочно! решаю мат. задачу, в суть вникать не нужноpastebin.com/EM0gstPLдело вот в чём. если просто, то видишь строки 31-35? сколько бы раз цикл не выполнялся, количество элементов в списке end всегда будет кратно пяти, ведь так?теперь смотри строки 36-39а точнее, строку 37. мне там постоянно выбивает index out of range, единственный список там -- это end. все индексы имеют вид от до [i+4], i ходит в цикле тоже по пять, и начинается с ноля, т.е. если разбить end на части по пять, то i всегда будет указывать на первый элемент в этой части. [i+4] это максимум, и он, по идее, должен указывать на последний элемент в этой части. так где out of range? может, проблема в строках 38-39, но там ведь цикл (да, j ни для чего не используется, это я просто сделал чтобы 5 раз убрало элемент) тоже делается по пять, т.е. end остаётся кратным пяти.
мне тут пришла в голову идею, что длинна end'a уменьшается, а в цикле на строке 36 каждый раз используется старая длинна, и так и выходит. но ведь по идее длинна должна каждый раз заново просчитываться при каждой итерации цикла. или нет? как тогда сделать?
эх, братцы, убьют меня скоро... следует торопиться!вся надежда на васспасёте ль душу мою гнилую?
>>1106416> Без него почему-то не работает.Получилось. Не надо было создавать дополнительный класс для label, а всё можно было в текущем классе переопределить. Осталось только координаты кнопок из абсолютного значения в относительные перевести. Для этого есть стандартный метод?
>>110643339 строка, втыкаешь в нее пока не прозреешь.
>>1106438конкретнее можно? в >>1106426 этом дело?
>>1106440Принтами отлаживай, если так не доходит.
>>1106442я даже пошагово отлаживал через питонтьютор, лолвроде, если i не меняется, всё смещается влево, соответственно не меняем i, 5 раз удаляем, и удаляется 5 последовательных элементов
>>1106435resizeEvent
>>1106446Ну ты удаляешь 5 элементов из списка во второй итерации цикла, а в следующей итерации ты обращаешься к списку по индексам 5+3 и 5+4, а в этот момент в списке всего 5 элементов.
>>1106450да, через принты вроде то же получается, спасибото, о чём я там говорилтеперь нужно думать, как сделать так, чтобы len каждый раз заново просчитывался
появилась одна совсем костыльная временная идея, пока проживу
>>1106447Получилось. Спасибо
Аноны, вот тут товарищи имели,что прилаживали телеграм бота и многие другие веб приложения к фласк/джанго, как это в теории делается? Каков общий принцип?Мне вот прям совсем просто теория нужна, до практики сам додумаюсь, я надеюсь.
'эй пидоры вы там борду уже написали?
>>1106487Написали.пидоры
>>1106424>pastebin.com/EM0gstPLкод переформатируйпеременные нормально назовитогда может и ответят
есть тут знатоки хоть немного телеграм бот апи? У меня вопрос небольшой :с
>>1106580>есть тут знатоки хоть немного телеграм бот апи?Нахуй ты это спрашиваешь? Пости сразу вопрос, если ответят, значит есть.
>>1106581ну сорянСуть в том, что бот сам не может написать, только если с ним начать диалог. А если ты есть в чате с несколькими людьми и ботом, может ли он тупо в личку тебе все же написать, или не?
>>1106582Личка это уже другой chat_id, поэтому 99%, что нет.
>>1106582На сколько я помню, с ботами вообще ограничения были, связанные с ЛС - бот не может первым писать. Он может лишь начать писать, после того, как юзер добавит его к себе в контакты/стартанет.Это было год назад, может что и изменилось, но вряд ли.
>>1106576что значит переформатировать код?
>>1106620В твоем случае это значит: удаляешь весь свой говнокод, читаешь пеп8, пишешь заново.
>>1106452>теперь нужно думать, как сделать так, чтобы len каждый раз заново просчитывалсяОбычно изменение границ списка/массива во время итерации по нему считается признаком не очень умного человека. В крайнем случае, обходи список с конца в начало.
Антон, как бы по приятнее распарсить кучу стрингов такого типа:"A vs. B (C)"Ещё к тому же части B и C опциональны. Я начал ковырять библиотеку Parse, но что-то там с опциональными частями глухо, весь стринг тупо не парситься, раз не попадает под полную схему.
>>1106731Регулярочкой.
>>1106733ну это уж на самый крайний случай. как там кстати это будет работать для трёх полей? три регулярочки? если что, то vs. и первая скобочка делимитеры
Братишки. Кто с вебом работает, отпишитесь плиз, какой IDE/текстовым редактором пользуетесь? В первую очередь интересует отладка и всякие свистелки и перделки в духе поддержки git, красивенького отображения всяких markdown и пр. Сидел я на PyCharm-е больше года, но чет заебал он меня своей тяжеловесностью, пока смотрю в сторону VS Code.Пикрандом
>>1106757> интересует отладка и всякие свистелки и перделки > git> красивенького отображения всяких markdown и пр.> PyCharm-е заебал он меня своей тяжеловесностьюИ что ж в нём такого тяжелого, ПК не тянет? Тогда уж ставь саблайм а для гита отдельную прогу, гораздо легче будет, ага.
>>1106770> И что ж в нём такого тяжелого, ПК не тянет?Тянет, но загрузка в несколько секунд и постоянное индексирование файлов доебало> Тогда уж ставь саблайм а для гита отдельную прогу, гораздо легче будет, ага.Меня отладка в первую очередь интересует. Гиты и прочее говно как-то опционально больше. Сам-то чем дебажишь?
>>1106773>но загрузка в несколько секундТы у нас его закрываешь по 2-3 раза за 10 минут?>постоянное индексирование файлов доебалоИ свапаешься между проектами в одном окне каждый раз?
>>1106757попробуй PyCharm
>>1106773> но загрузка в несколько секунд и постоянное индексирование файлов доебалоЯ недавно открыл для себя на работе такую штуку, как SSD, реально быстрей всё прогружается и индексируется, возможно тебе тоже стоит попробовать прикупить себе минимальный по объёму SSD и накатить туда все свои программы, и, возможно ОС.> Сам-то чем дебажишь?И дома и на работе PyCharm, и там и там Linux, всё ок вроде, полёт нормальный.Ты видимо не пользовался Microsoft Visual Studio, вот там, как по мне, реальные тормоза.
>>1106744>ну это уж на самый крайний случай.Почему? Разве пикрл не то что тебе нужно?> как там кстати это будет работать для трёх полей?Каких полей?
https://pastebin.com/5PiSD9CBКто знает, почему MySQL не хочет коммитить объект из SQLAlchemy без explicitly-specified атрибута (колонки) `time`?Собственно, задача, чтобы `time` в поле обслуживался именно движком MySQL, а не ORM'ом (т.е. `(value = 'foo', time = time.time(3))` не годится.)
>>1106804>Весь код в одном файлике и чистые sql запросыРЯЯЯЯЯЯЯЯЯЯЯЯЯЯЯ
>>1106804default=datetime.now() чем тебе не нравится?>>1106807Ты совсем поехавший?
>>1106791отлично, Антон!поля, ну А, B, С это поля. я хз как по-русски перевести. вопрос ещё такой, а как можно дополнительный делимитер ввести между A и B? к примеру, если некоторые из полей разделяются не vs. а ещё и через 'feat', 'feat.', 'ft.'
>>1106809Если что, я отмапил класс через sqlacodegen, видно, он `default` потерял. У меня формат не Datetime, я храню unix timestamp вот так:`time DECIMAL(15,3) NOT NULL DEFAULT UNIX_TIMESTAMP(CURRENT_TIMESTAMP(3))`Как это записать в SQLAlchemy для `default=`?
>>1106809>onupdate=datetime.now()Запоздалый фикс, хотя и на default тоже можно поставить.
>>1106812Так ормка вроде сама конвертнёт в юниксовое время, проверь.
>>1106814Сделал вот так: https://pastebin.com/nCUdsdF3Не работает, короче. Плюс, он все равно ведь пикает время во время создания объекта, а не коммита в ДБ? А задача добиться именно последнего.
>>1106811>поля, ну А, B, С это поля. я хз как по-русски перевести. Какие нах поля? Не можешь описать, так хоть пример скинь.>вопрос ещё такой, а как можно дополнительный делимитер ввести между A и B?(\w) [vs|feat|ft].\.\ (\w) \((\w*)\)
Как понять, что тебе хватит редиса, и не стоит прикручивать sql?
>>1106817Разметка звездочки похерила.
>>1106791>>1106811пробую такое, но это так не работает(.) [vs\.|feat\.|ft] (.) \((.*)\)
>>1106816>time>db.Numeric(15, 3)Ты сам-то понимаешь, что делаешь или так наугад код ебашишь?>А задача добиться именно последнего.Погуглил за тебя.https://stackoverflow.com/questions/6992321/how-to-set-default-on-update-current-timestamp-in-mysql-with-sqlalchemy
>>1106822И не должно, хуйню написал же.
>>1106817стринг - название трека, из подобного:Skybreak feat. Orbiter (Lence remix)Der kleine Prinz (Instrumental)It's like this ft. Jason Nevins>>1106819не вкурю, почему не работает часть в квадратных скобках, что на картинке, как я задумал. в том плане, что это должны быть варианты делимитеров.
>>1106826>>1106817ну и конечно из этого должно получиться:("Skybreak", "Orbiter", "Lence remix")("Der kleine Prinz", "", "Instrumental")("It's like this", "Jason Nevins", "")
>>1106825там тоже парсер часть звёзд зохавал
>>1106819
>>1106826>не вкурю, почему не работает часть в квадратных скобках,Потому что почитай, что такое квадратные скобки в регулярках.
Кто-нибудь делал сервис приложения для винды на питоне? Я уже несколько дней не могу запустить приложуху. Сделал с помощью win32service и py2exe, но все равно какие-то траблы. В дебагинге пишет, что не может заинкдюдить файл с основным кодом. Но это уже скомпилированное приложение, почему он не хочет может запустить?
>>1106843Как тогда в регуляторку воткнуть выбор из альтернатив? Или вроде вертикальной чертой задаётся.
>>1106851На жабе пиши, блэт
>>1106877Так а на питоне это антиреально или как?
>>1106851Просто у меня задача сделать программу, которая собирает данные в пассивное режиме и отправляет на сервер. Показания процессов, сети и так далее. По запросу сервера скриншоты и скрипты запускать на удаленном компьютере.В будущем ещё добавить надо упоавление в прямом режиме. Тимвьювер короче. Ещё усложняется тем, что нужно для винды ХП это сделать. На 10-тке я вроде сделал так, чтобы приложение от админа запускалось и писало себя а реестр для автозапуска, но на ХП проблемы появились и не работает часть функций. По этому решил не писать а реестр, а сделать сервисом. Короче, вопрос в том, я вообще в правильном направлении двигаюсь иди мне нужно что-то поменять в своих размышлениях?
>>1106878Когда-то и меня вела дорога приключений. А потом я получил ошибку компиляции... Недельку повозился и портировал, забив на головную боль с цигвином и юникодом.
>>1106879Баба-то симпатичная хоть?
>>1106882Препод на кафедре))))
>>1106885Держи нас в курсе.
>>1106874Чтобы был выбор из альтернатив, нужны альтернативы. Насколько я знаю, "Заматчить в группу либо то, что идёт после ft., либо ничего", да ещё при этом чтобы вместое ft. могли быть разные вариации, да ещё и потом остановиться по скобочке или концу строку, но при этом не матчить их в эту группу, это какой-то ужас, я запутался в куче скобочек, non-capturing group'ах и прочеих чёрточках когда пытался писать.Так что вот накостылял топорный вариант: https://repl.it/repls/LawfulDeliriousPaddlefish работает как надо. Впрочем, если кто сможет переписать это всё под одну регулярку, было бы здорово посмотреть на это.
Как же тяжело писать на Пайтоне после плюсов(
Поясните.
Как бы выглядел бинарный поиск в рекурсивной форме на пайтоне?Должен ли он принимать левую и правую границу?я написал только с циклом,
>>1106944Отвечаю сам себеВот так норм?https://pastebin.com/utwn6HnS
>>1106136Не ну бля, он не отвечает.Я в печали.
>>1106944я бы проверок на left<=right добавил
>>1106945сделай нормально одну конструкцию if-elif-elif, а не куча if'ов
>>1106899спасибо Антон, я что-то подобное тоже накостылял. сначала пробую разбить стринг на название трека и опциональные элементы по feat / vs / ft, а потом уже дроблю эти опциональные поля, если они есть.ещё у меня была идея использовать регулярку в которой для делимитера feat/vs/ft использовать свою группу. на выходе был бы кортёж из четырёх вместо трёх элементов, из которого можно было сделать новый кортёж взял только три нужных элемента. но это конечно выглядело бы грустно.
>>1104406Лучше qt учи, анон.
Как сделать программу на питоне исполняемым файлом?Вот есть у меня код, окошки, кнопочки, формы - вот это вот все. Но для запуска нужно нажать "выполнить" в пичарме.А я хочу как у людей - ярлык на рабочем столе и двойной клик. Как это сделать?
>>1107033ЯП поменяй.
>>1107033py2exe и аналоги
Первый день вката в питон.Поясните, для того, чтобы взять часть строки (допустим 2, 3 и 4 символы) нужно сделать так:string = 'Vecher v hatu'print (string[1:4])Как это понимать? Какая логика в таком синтаксисе? Как его читать? Я понимаю если бы было так string[2:4], что можно было бы прочитать как "Взять символы со второго по четвертый" или так string[2:3], что значило бы "Взять три символа начиная со второго" (или такие же варианты, но с нумерацией элементов с нуля).А какая логика в это записи string[1:4]? Что было на уме у разработчика языка?Дискас
>>1107041С вкатом тебя! В программировании (любом, хоть асм) отсчет идет с 0, а не 1. Может разве что в каком-нибудь макросодристе для экселя или 1ц как-то иначе. Короче привыкай.
>>1107041Нумерация начинается с 0, что бы взять 2,3,4 символы(если ты .. и считаешь с 1) то первый вариант, иначе - второй вариант. Логика проста и понятна.
>>1107041где ты блять вкатываешься, если там даже таких очевидностей не объясняют?
>>1107044> string[1:4]Похоже разобрался, читается скорее всего так: "Взять символы с 1-го по 4-й (не включительно)" Хотя не понимаю, почему бы разработчику языка для это не сделать было так string[1:3] "Взять символы с 1-го по 3-й (включительно)" Так прощу для восприятия.>>1107047В ИНТЕРНЕТЕ
>>1107049на тебе магию: print('otridpsiqdaoard'[1:14:2])
Джва года у вас не был, а нихуя не поменялось, будто вчера тред закрыл. Все такие же ленивые нуфаги, все такие же унылые трали.
>>1107041>Первый день вката в питон.It may take a little while...>Какая логика в таком синтаксисе?string[1:4] от первого элемента до 3го (4ый не включается)это супер удобный синтаксис, поработал бы с C-style строками, стал бы на него молиться
>>1107057> от первого элементаот первого, в смысле от элемента номер(формально говоря от второго) одинпотому что первый это нулевойпояняю на всякий случай
>>1107057> это супер удобный синтаксисДля каких задач удобно? Чем удобнее, чем "Взять символы с 1-го по 3-й (включительно)"?>>1107052Спасибо, перевариваю
>>1107041Занюхай документацию, там достаточно подробно всё расписано.
>>1107060Годно, то что нужно
Посоны, ткните носом в пример. Как в админке джанго 1.11 открыть определенную запись в таблице, используя при этом кастомную modelform, где добавлены дополнительные поля, зная праймари кей записи. Наверняка кто-то сталкивался.
>>1107041Лично я представляю себе типичный цикл for (int i = 1; i < 4; i++), но это потому что я крестоносец, поэтому могу себе позволить.
a = 1b = 2if a and b != 2: print ('ok')elif a or b == 3: print ('not ok')else: print ('bye')Анон, почему аутпут "not ok"? Кажется, должен быть "bye"?
>>1106136Бля, решил проблему.Telegram не жрёт IP-адреса, он жрёт только хостнеймы. Ну я бесплатный ddns завел и привязал адрес.Теперь все работает.
Вечер в хату, нид хелп.Пытаюсь в фласкhttps://ideone.com/AbC5HCПо ссылке сверху форма, которая генерит кнопку и список с чекбоксами, переданный ей приложением.По нажатию кнопки я хочу получить список отмеченных пунктов и отгенерить новый список, уже без них, но меня выкидывает в 404, чяднт?
>>1107097Тебе там foreach завезли, алло.
>>1107238вопрос закрыт, обосрался с конфигурацией nginx
>>1107216Скобочки забыл
Возможно ли в Москве совмещать стажировку/работу джуном с очной учебой 5/7 9:00-15:00 ?заочку не предлагать - медицинский
>>1107216>elif a or b == 3:Это не так работает. В твоём случае идёт две проверки:1. b == 32. a (что a имеет какое-то truthy значение, то есть не 0, false, "", [] и прочие falsey)Нужно писать либо "a == 3 or b == 3", либо извратиться и "3 in [a,b]". То же самое касается и первого условия.
Анончик, я заебался уже, помоги понять в чем блядская проблема. Пытаюсь взять таблицу с сайта в список, но код мне выдаёт то index out of range то пустой список. На другом сайте всё работает. Использую lxml с xpath полным путём до таблицы взятым из фаерфокса, но толку нет. КрасивыйСуп выдаёт пачку ненужной хуйни из которой трудно выбрать нужные строки. Гляньте пожалуйста код, буду признателен. https://ideone.com/LOj2Wu
>>1107506Ты уверен, что таблица каждый раз возвращается и она одинакова?
>>1107510Уверен. Может есть другие способы достать информацию из страницы?
Аноны, на работе у нас микросервисная архитектура, сообщения между сервисами передаются через rabbitmq, но к сожалению pika, которая используется для передачи AMQP сообщений нестабильное говнище, нужно найти ей замену и желательно какую нибудь штуку, которая проверяла бы конект и о гарантированной доставке задачи можно было бы не беспокоится
>>1107283>медицинскийТы зачем туда пошел? Или хочешь в хардового биолога-программиста вкотится?
Имею такой проект на гитхабе. Сколько авторитета он мне придаст на собеседовании? В 2018 вообще на гитхаб смотрят?
>>1107551А что этот проект делает?
>>1107551Как ты его раскручивал?
>>1107526Selenium. Для извращенцевAPIА вообще перепроверь всё, потому как такого не бывает, что на одном и том же наборе данных программа то находит нужное тебе, то нет.
>>1107551За 15 собесов лишь 2 раза я видел на гитхабе посещения страницы с hh и никаких аномальных всплесков тоже не было, это за 2016-2017 год.
Хочу опробовать питон. В вузе учили си шарпу, самостоятельно изучал джаву, но довольно поверхностно, причем на столько, что пока эти языки для меня одинаковы в синтаксисе и до реальный различий не дошел.Питон сильно сложнее?
>>1107583Питон чуть ли не самый простой язык.
>>1107582Странно как-то. А то я начитался про профайлинг эйачров, как они там вконтактик чекают, фейспук, твиттор, составляют психологический потрет будущего неадеквата, а у меня там один сплошной он как-то странный, либо вообще нихуя. Вот думал на гитхабе выехать, но похоже дохлый номер.
>>1107594да не ссы ты, прям в сиви и напиши мол на гитхабе проект с горсткой звездочек, в конце-концов ты ж его не спиздил и это и правда круто а эйчары просто телки, со всеми вытекающими: могут и на гуще кофейной погадать, и айсикю по вконтактовым репостам детектить
>>1107594>Вот думал на гитхабе выехатьNDADAВсегда так на собесах говорил
Djangoпрохожу туториал по документации там есть вот такая вещь повторенная раза 3:Чем больше тестов, тем лучшеА если тесты превышают размеры кода самого приложения... Это ведь в 2 раза больше работы. Там где ты мог написать за 2ч, ты потратишь 4... Но в туториале очень настойчиво требуют писать тестыБывалые в джанго, поясните...
>>1107542Просто нравится как устроен человеческий организм, как его чинить и всё такое. Хотя прямо сейчас научка на патологоанатомии и пытаюсь подцепиться к Клименко, Лебедеву и всей этой айти компании.Но денежек дюже не хватает
>>1107628Если только вкатываешься в джанго - забей хуй и займись чем еще - ту же django by example полистай, она годнаяЕсли вкатился уже достаточно глубоко, но еще не навернул 2 scoops of djang / obey the testing goat - навени и по тестам вопросы многие отпадутОт себя скажу что тесты помогают экономить когда проект развивается бурно. Обмазывать тестами говноблог который пишешь два вечера и не трогаешь три года - можно, но только если уж очень хочется. Фича тестов главная, в прикладном плане - что бы если после коммита кого-нибудь из команды все наебнулось - ты побежал к разозленному ПМ весело гогоча и тыкая в ебало успешные тесты твоей версии мол это не я, а сирожа все наебнул.
>>1107631>Клименко, Лебедевучто за пидоры?
>>1107643>django by exampleгитхабный проэкт?
>>1107645книжкудругие две - тоже книжки
>>1107643сяпc
>>1107594Не просто странно, но еще и обидно, так-то.Тоже слышал про составление профиля, но хз, делали ли так со мной, по факту, у меня везде фейки никак не связанные с гитом и телегой(никами в смысле).
>>1107281>>1107293Спасибо, аноны!
>>1107662>у меня везде фейкиТаких вообще брать нельзя, ящитаю. А вдруг ты террорист? Нормальному человеку прятать нечего.
>>1107644Институт Развития Интернета. Клименко - советник президента, Лебедев - где-то, что-то главный по информатизации здравоохранения.Занимаются машинным обучением системы поддержки принятия врачебного решения и стандартизацией баз данных в здравоохранении
>>1107739и оба сидят у нас на кафедре
Почему у меня в папке bin виртуальной серды нет файла activate_this.py и что сделать, чтобы он там появился?
>>1107672> 2ch> нормальный человекХехДа ладно, я просто ебалом не вышел, а быть дурачком который ставит свои ущербные фотки везде и всюду - желания нет.Да и какая им разница, террорист я или просто поехавший, я к ним иду работать, код писать и всё, на это должны смотреть в первую очередь, на мой взгляд.Толку от социобляди которая не слыхала о PEP8, но зато инстаграм которой ломится от фоточек с отдыха и прочей важной информации?
Всё таки решил запилить код для морры.Проблема в том, что порой я не знаю, как попасть в определённый город, ибо смотря на список сложно сразу определить и учесть все пересадки. От программы хочу, чтобы требовалось ввести место пребывания и место назначения.Чтобы он перебрал кортёж и вывел оптимальный маршрут.Вот только алгоритм всего этого в голову не лезет. Лучше бы хеллоуворды писать, конечно…Кто-нибудь подскажет направление? Видимо, с парой тройкой циклов нужно иметь дело, но не совсем понимаю.
>>1107766>Кто-нибудь подскажет направление? Это старинная задача Дейкстры о поиске пути на карте.1) Тебе надо придумать, как хранить узлы графа, чтобы быстро узначать, как любая его вершина связана с другими вершинами, и —2) Тебе надо будет таскать с собой односвязный список чисел, соответствующих вершинам, чтобы ты мог узнать, был ли ты уже в этой вершине или нет, и обходить петли.Вот более простая задача: обойти лабиринт, с тупиками, но без петель. Для начала реши её, хотя бы на бумаге, дальше полегче будет.
>>1107768Ты меня совсем не понял. Я не по карте буду бегать, а перемещаться на стритстрайдера или лодке. Есть заданные возможные пути, а мне нужно, чтобы программа в момент ока выдавала путь с пересадками до заданного пункта. Мне нужны циклы и условия, а не графическое нечтоещё не знаю питон настолько, чтобы с ними работать, да и для этой задачи не требуется
>>1107770>Мне нужны циклы и условияНужны здесь графы и рекурсия, циклами замучаешься карту обходить.
>>1107774Мне нужна не карта, а пункты определённые. Можно сравнить со станциями ирл.Как бы... Мне неизвестно и предположительное местонахождение некоторых пунктов, но я знаю, как туда можно попасть, с пересадками.
>>1107768> обойти лабиринтПравило одной руки прокатит?мимодругойхуй
>>1107614Ссылаешься на NDA@Не знаешь что такое функция
Ну или вот ещё вопрос. Пишу, чтобы чуть ускорить работу. Нужно ввести название и текст документа. Запилил. Но если текст имеет перенос на другу строку, то всё что после переноса - не читается, по понятным причинам. Как фиксить?
>>1107780используй хитровыебанные тройные кавычки вроде таких - """
>>1107782При объявлении? Уже пробовал.
>>1107783хз показывай код, а не рассказывай.
>>1107787#!/bin/python3name = input("Введите название докУмента: ")text = input("Скопипасть содержание, баака!")doc = open("%s.txt" % name, "w+")doc.write(text)doc.close()
>>1107788https://stackoverflow.com/questions/30239092/how-to-get-multiline-input-from-user
>>1106933проституткам всегда сложно работать на обычной работе
Двач, помоги с регуляркой, плес. Нужна регулярка, которая проверяла бы, что в строке есть только буквы латиницей и цифры. Пытался решить эту задачку определяя, является ли строка ASCII-строкой и это действительно помогло исключить кириллицу, но это ж блять ASCII - там есть `& ; * ^ - + чего мне нужно избегать. Пример строк, которые должны пройти регулярку: Z6, SU, 7WС меня как всегда.
>>1107805[[:alnum:]]
>>1107806странный смайлик
>>1107775https://ru.wikipedia.org/wiki/Граф_(математика) У тебя есть города (вершины), и есть транспортные пути (рёбра). Вот тебе твой граф. А дальше Дейкстра спешит на помощь, как уже сказали.Физическое расположение этих городов не имеет никакого значения, про него речи и не шло.
Sup Я не знаю как в Django регистрацию сделать
>>1107838Привет. Я тоже незнаю.
>>1107838https://github.com/egorsmkv/simple-django-login-and-register
>>1107838https://github.com/macropin/django-registrationЯ этим пользовался. Простая как пробка и ничего лишнего.
>>1107838для версии 1.9
Аноней, хелп, как в пайтоне получить индекс максимального элемента массива? Т.е. index() возвращает первый, а мне нужен последний
>>1107877len(a)-1
>>1107878У меня есть [a, a, c, d, b, a, f, d]Мне надо вернуть индекс последнего a, но .index возвращает первый
>>1107877index(max(array))
>>1107877тебе так и написалиеще можешь обмазаться list.pop()заодно и удалишь последний
>>1107879Понел.Тогда такl = [a, a, c, d, b, a, f, d]len(l) - l[::-1].index('a')
>>1107880Я хуево сформулировал, не индекс максимального элемента, а максимальный индекс
>>1107879Ебаный изврат.Находи максимальный элемент, через max(), затем делай обход массива в обратном порядке до того момента, пока не встретишь своё элемент максимальный.
>>1107882Ого, спасибо, бротиш, я бы скинул тебе картину с красивой девочкой, но я с телефона
>>1107884Да, блять, мне не нужен максимальный элемент, мне нужен максимальный индекс любого
>>1107882>len(l) - l[::-1].index('a')тут еще -1 забыл. Нутыпонел.len(l) - l[::-1].index('a') - 1
>>1107554Вбросил в /r/linux, дальше красноглазики сами растащили.
>>1107898А, понятно.Эх, ридмишечки и доки надо на английском писать, а у меня с грамматикой плохо...
>>1107898А, так ещё и в АУРе опакетили.
>>1107901Заодно и научишься же
>>1107901>надо на английском писать, а у меня с грамматикой плохоУ меня самого хуево. Читаю нормально, пишу как школьник. Но пока никто не жаловался, хоть и стыдно, да, особенно когда в истории ридми по десять правок одного предложения и одна правка корявей другой.
>>1107904Вот жиза-жиза. А иногда так хочется что-нибудь похудожественнее запихнуть, но не уверен — а так вообще говорят?
из файла 2 со списком нужно убрать, что есть в файле 1есть идеи как это сделать?
>>1103255ролл
>>1107928И что это, блять, такое?
>>1107929Это ананас пытается придумать что писать посредством великого псевдорандома зависящего от постинга на форум 2чхк и пронумерованному списка проектов для скучающих неофитов.
>>1107929https://gelbooru.com
>>1107898Что за скрипт/тулзу написал такую?
>>1107952Элементарно, Ватсон!https://github.com/search?utf8=%E2%9C%93&q=stars%3A165+language%3APython+forks%3A31&type=Repositories
>>1107551Гифочку бы хоть в ридми запилил.
>>1107963>скрипт на 30 строчек>165 звездочек и 31 форк от таких же вкатывальщиков>А МОЖНО МНЕ ЭТО НА СОБЕСЕ ПОКАЗЫВАТЬ?!?!
Двач, такая проблема, пишу телеграм бота в пайтоне , но не могу придумать, как встроить функцию : нужно чтобы он пересылал мне сообщения из канала (обозначенного в коде) как только они выходятКак это сделать
>>1107967Очевидно нужно смотреть что там в телеграмовском апи, потом искать соответствующую функцию в библиотеке которую используешь. В общем случае ты слушаешь канал (обозначенный в коде) и пересылаешь куда надо.
>>1107968Я искал в этом апи но не понимаю, какая конкретно команда будет пересылать мне посты из канала, а уж тем более как она работает олсо я тупой
>>1107963Мда уж, идея то хорошая, но это какая-то глупость, если честно, на собесе такое показывать вряд ли стоит.>>1107966Два чая, комараду.
>>1107805[a-zA-Z0-9]*
Аноны, нужен совет.Появился тут заказ на приложение для андроида(клиентская часть реализована будет не мной, так что суть не в ней), суть приложения в том, что есть один сервис, доступ к которому стоит прилично, к тому же не всем он выдаётся. По этой причине создаётся один аккаунт и уже через него доступ к сервису будут получать все пользователи.Питон планируется на серверной части. То есть приложение отправляет на сервер запрос с параметрами, сервер уже передаёт эти параметры в сервис и делает по параметрам переданным выборку статей(пусть будут статьи), ну и естественно потом сервер возвращает полученные данные назад клиенту.Начальная нагрузка примерно 20-30 человек, но в перспективе меня пугают гораздо большей аудиторией(если взлетит - другие фирмы так же закупят ПО). Запросов будет много, но они мелкие(буквально 3-4 коротких параметра, в ответ тоже - небольшие структуры данных).Сам вопрос:Что использовать в качестве веб-фреймворка? Первая мысль была использовать Flask/Django, затем подумал о aiohttp и tornado. Ну и будет мой любимый nginx + sqlite/postgresql(там только данные для лицензий хранятся).
>>1107963У тебя прям Parker-расследование получилось, лол. Сомневаюсь, что автор этой репы на двощах сидит.
Навыки Python Junior?
>>1107999Falcon попробуй.
>>1107971>олсо я тупойНу ты хоть что-то уже написал? Кроме импорта телеграмной либы. А то появляются сомнения во фразу "пишу бота". >>1107999>sqlite/postgresqlДля трёх строчек данных аккаунта? Зойчем?Если хочешь, можешь сразу с uvloop поиграться, нагибая даже ЖСеров из соседнео треда, и пообещать заказчику возможность обработки огромного количества пользователей. Думается мне, однако, что боттлнеком всё равно будут запросы и получение данных с этого стороннего сервиса.
>>1108008ссылку забыл — https://magic.io/blog/uvloop-blazing-fast-python-networking/
>>1108001Да понятно, что это не он. Но как удачно зашло, что он пишет, что хочет показать гитхаб работадателю и тут такой аккаунтище, такой проектище!
>>1108008Насчет БД еще хз, окончательного решения еще нет.Насчет ботлнека согласен, но может аккаунтов больше купят или еще что, просто что бы все упиралось не в мой код.>>1108006Спасибо, я и забыл о нем, думаю его и возьму.
Начал читать книгу по изучению Питона. В конце первой главы отправляют читать документацию на сайте/idle. Неплохо, неплохо.
>>1108008Да , написал , на самом деле все идёт очень даже ок , но сейчас , когда столкнулся с этой проблемой процесс встал + У меня почему то не импортируется библиотека telethon, хотя я ее установил и Пайтон сам говорит что с ней должно быть все нормально
>>1108005Зависит от города, меня в мухосрани с одним проектом на джанге взяли, потому что никого нет вообще
почему в питоне нет точки с запятой? Разве отступы лучше скобок?
Ребята, всем привет. Нужна ваша помощь. Перейду сразу к сути: В общем мне тут надо что-то в духе лейбла, который будет выводить все действия кнопок на себя, но я не знаю как это сделать. Поможет кто? Буду очень благодарен.
>>1108129Да.
Недавно обновил резюме на хх. Соответственно сразу много hr активизировались и начали звонить. Прикольно пообщаться, пораздувать щёки и т.д. Но один из звонков был от яндекса… у меня плохой опыт общения с яндексом из-за их фанатизма к алгоритмам. Так вот, вроде разговор шёл неплохо, проекты-хуекты, нужны питонисты. А потом предложили пройти быстрый телефонный тест, чтобы, так сказать, отмести лохов-пиздаболов сразу. После этих слов температура моего ануса поднялась на пару градусов, так как прошлый звонок от яндекса закончился примерно этим же. Итак, питонисты, вопросы, которые мне задали... начну с нормальных™:- какие контейнеры/структуры данных (не помню как конкретно выразились) в пифон иммутабельны? Очевидно: tuple, forzenset.- сложность вставки элемента в середину листа в пифоне? Ну, вроде O(n).- сложность получения элемента из листа. O(1).А теперь приготовтесь… Выдохнули?- сколько будет 2^32? Вы чё, охуели?! Мне для этого пифон и нужен, чтобы эту хуйню не запоминать. Я ответил что-то вроде "4 миллиарда", а надо было: "два умножить на два тридцать два раза". В этом месте уже анус раскалился.- назовите алгоритмы сортировки со сложностью "O n хуйня пидор n". АААААА! Да мне похуй на эти алгоритмы, я их в гугле за две минуты найду и скажу. Ладно бы вопрос звучал: "назовите алгоритмы сортировки", это бы было сносно, и то, нахуй мне их знать?! Я что, собираюсь новый придумать? У меня дохуя выбор есть какой использовать в пифоне? Я ответил, что не согласен с политикой хуйни насчёт алгоритмов и того, что надо и что не надо помнить наизусть.Надеюсь мне больше не позвонят. Как же бесит их узколобость и культ алгоритмов.
>>1108185>Рукожопые овцеёбы в поисках рукожопого овцеёба.>Как же бесит >культ алгоритмов. При чём тут алгоритмы-то?..
>>1108190Потому что яндекс дрочит на алгоритмы, очевидно же.
>>1108185Зачем тебе шквариться об яндекс ? Зп ниже по рынку , корпоративная культура , работа заключается в согласовании кнопок
>>1108195> Прикольно пообщаться, пораздувать щёки и т.д.Это опыт общения. Плюс кулстори для вас, ребята.
>>1108191>А потом предложили пройти быстрый телефонный тестИ ты согласился. ПОЗОР
>>1108201Почему? Это же как "кто хочет стать миллионером".
>>1108205Ну, выбирай, кто следующий подойдёт.Учти, я существо высшее.Мысли читаю.
Подскажите годный материал почитать посмотреть по Python Pandas очень срочно, спасибо, сык-сык петух-веб-студия
>>1108280Д О К У М Е Н Т А Ц И Я
>>1108280pythonworld и pythonprgrammingГугли, там есть годнота.
>>1108211Пусть парень в авто.
>>1108364Доставлено.
>>1108185Ну ты лошара, надо было этих пидоров расспрашивать по такой хуйне.
>>1108376Кого расспрашивать? HR? Она же ни бе, ни ме.
>>1108185А чего сложного-то? Они тебя ничего ебанутого не спрашивали вроде как
>>1108382То есть последние два вопроса для тебя ок? Ну, тебя ждут в яндексе тогда, хуле.
>>1108385>назовите алгоритмы сортировки со сложностью "O n хуйня пидор n". Быстрая.>АААААА! Да мне похуй на эти алгоритмы, я их в гугле за две минуты найду и скажу. Сэлюшай малтшык...>Ладно бы вопрос звучал: "назовите алгоритмы сортировки", это бы было сносно, и то, нахуй мне их знать?! Её в Московском Государственном Университете изобрели, когда он ещё был торт.>Я что, собираюсь новый придумать? У меня дохуя выбор есть какой использовать в пифоне? Из-за вас уже телеграфные столбы падают. Родина!!! Дала им сортировки!!!! Учи... сортров ` ы
Толстячок.
Есть ли смысл вкатываться в питон? Смогу найти фриланс какой или фуллтайм-работу? (Ознакомился немного с синтаксисом, очень понравилось, как будто язык для людей делали)
>>1108421Через месяцок-другой изучения сможешь найти удалёнку за ~4-5 килобаксов спокойно. Программисты сейчас везде нужны, особенно на питонистов спрос.
>>1108423Это сарказм?
Интернсненько...
Поясните за форенки в джанге.Вот у меня есть продукты и заказы, в заказе фореинки к продуктам.Как добавить к одному заказу несколько продуктов?
>>1108455Many-to-Many
двачик, через что можно пошагово отлаживать код? использую atom
>>1108459В чем тогда Many-To-One в ForeignKey?Я понимаю, что я могу это сделать, если поставлю order в модель с продуктами, но это же тупо, потому что у продукта может и не быть заказа?
>>1108511в пайтоне вроде есть встроенный, но я что-то не могу разобратьсяесть небольшая программка, и мне нужно запустить её и видеть значения переменных с каждым шагом. как это сделать?
вот есть у меня n-ое количество списков, некоторые из них одинаковые (в том смысле, что есть такие пары списков, у которых каждый элемент идентичен), а некоторые нет. если я сделаю множество из списков, одинаковые списки, по идее, самоуничтожатся. или не прокатит?
>>1108534скорее не прокатит, ибо по ссылке же хранятся, а они скорее всего разные хотя вдруг у тебя одинаковые списки лишь указывают на один и тот же
>>1108536нет, они разные, спасибо за ответзначит, нужно как-то сравнивать и удалятьа с удалением у меня что-то туго, потому что в итоге получается index out of range
то есть вот удаляется в течении какого-то цикла (а иногда и не удаляется), и в итоге длинна списка уменьшается, но i принимает значение аж до старой длинны, и я всё ещё не придумал, как это решить я тупой, да
у меня все элементы хранятся в списке просто подряд друг за другом, но в каждой "группе" (её в коде нет, это понимание на человеческом уровне) ровно 5 элементов, т.е. все эти группы можно отделять, просто делая шаг в 5
>>1102146 (OP)Где для python можно найти пример простой работы с веб-формами и таблицами, получаемыми из sql ? Есть что-то вроде PHP-букваря, без всяких фласков и джанго ? Чтобы просто вывести результат запроса в виде таблицы и сделать поле для ввода текста, чтобы записать вводимый текст в этой базе нужной таблице нужную ячейку
как сделать так, чтобы при каждой итерации цикла range для i просчитывался заново?
Сап Аноны, есть вопросЯ написал скрипт, который хочу поставить на поток, но так-как не имею собственного сервера, хочу запихнуть скрипт в телеграм бота, и тот выполнял мой скрипт. Возможно-ли такое?
>>1108559Хпх, а бот где крутиться будет?В чем проблема купить сервак виртуальный за 1€?
>>1108539>>1108541>>1108544>>1108553мои посты, проблему решил.
>>1108534списки не хэшируются => не могуть быть элементами множества или словаряиспользуй кортежи
>>1108577Не знаком вообще с этой темой, буду пирнать, спасибо
Аноны, посоветуйте годных онлайн курсов по питону(не для начинающих), что б с сертификатом(можно и без него, но лучше с ним), цена не важна(всё уплочено фирмой).Направление, в принципе любое, пойдёт и дрочь на алгоритмы и упарывание вебом.
>>1108519pdb
>>1108655>Направление, в принципе любоеТебе реально все равно, веб это будет или анализ данных?
>>1108553И как ты это сделал?
Почему Python не используется повсеместно и имеет такое слабое распространение в Пахомии? Тут же есть всё: удобство работы и синтаксиса, большое количество готовых библиотек и решений для всех случаев жизни, быстродействие итп.
>>1108723Быстродействие у питона? В какой вселенной ты живешь?
>>1108701Ну да, буду все по очереди проходить, вроде как там они не по году идут, а пара месяцев, в основном.
>>1108613Раскрою тайну: Телега предоставляет только АПИ, а не сервера под ботов, так что сервер нужен будет в любом случаи.
>>1108727Во вселенной PyPy & cPython, а что?
>>1108723Ну джанго и другие веб-инкарнации питона сосут потому что основной заказчик сайтов - нищееб с фиточаем или грецкий орех оптом, и хуй такой захочет платить за самый простой VPS/VDS 1000 руб в месяц когда всего его васяны-дружбаны платят по 129,99 руб за говновордпрессохостинг.
>>1108739ну так правильно, васяны не любят что-то новое, пусть лучше будет что-то говняное, но наше, привычное
>>1102146 (OP)Объясните мне незнакомому с программированием какие приложения делаются на питоне?Какова основная сфера применения данного языка?В начале треда видел сообщение типа сделать борду, но разве для борды не нужны html и php?Для чего там python?
>>1108827съебись, жирный
>>1108828я не жирный.Я на самом деле не секу и хочу узнать
Как устроиться на удаленку на зарубежного работодателя, чтобы писать что-нибудь на Питоне?
>>11088291) php - это блядь другой язык2) html это язык разметкиЕсли очень очень доступно html\css\js - это внешная оболочка сайта, те фронт энд, и как бы там не рвались - это не программирвание ни разу, это вёрстка, это дизайн. php\python\хуйнятипахаскила - это бэк энд, или условно движок сайта, код благодаря которому он работает. Это если за веб говорить А так на питоне можно сделать ВСЁ, абсолютно. Главный его плюс - встраиваемость, благодаря которой его довольно низкая производительность сводится на нет. крч Питон - это веб, скрипты, дата саенс, нейроночки, хуёночки, дескопт, ии, данные и овердохуя еще. т.е и парсер написать, и бложик, и гугол, и Алису, и малварь и червяка аки чернобыль.Ясненько?
>>1108739>'работает — не трогай
>>1108831Вроде бы да, спасибо.Я правильно понял что Php это лишь альтернатива Python?
>>1108833>Я правильно понял что Php это лишь альтернатива Python?пхп это блядь другой язык, и он ни разу не альтернатива. Это как сравнивать бентли способную и летать и по воде и под водой и в космос, с телегой запряженной клячей и коровой мутантом с копытами в обратную сторону по 3 штуки на каждую стоонупыха
>>1108835Питон - Бентли а php - телега?
Как дальше джанго изучать? ХелпПрошел курс джанго гёрл и туториал по документации, саму документацию полистал, глянул что интересно. Прикрутил к бложику красивую админку\опросник\тесты и прочие ништячки и не знаю что дальше? И есть еще вопросы:Какие технологии изучать кроме вёрстки? Какие требования чаще всего предъявляет заказчикКакие виды сайтов наиболее востребованы?Офис не предлагать, хочу попытаться во фриланс за бугор. Сотни тысяч нефти не интересуют
>>1108655Бумп
Сап, питоняч.Помогите, пожалуйста, советом, как продолжать обучение дальше.С помощью питона прошёл pythontutor.ru решив все задачи, а также решил 35 задач на acm.timus.ru. Прошёл курс по Питону на курсере от МФТИ + мейлрач. Сделал тудулист на фласке и развернул на своём сервере.Дальше упираюсь в незнание\непонимание алгоритмов, есть трудности с пониманием двумерного динамического программирования.Хотелось бы глубже понимать асинхронность, работу с сетью, а также поботать джангу. Может посоветуете какие-нибудь ресурсы или поделитесь своими саксесс-стори. Спасибо.
От корки до корки перепиши тупо django by exampleПо итогу будешь неплохо отстреливать на уровне идеи че хоть гуглитьПотом читаешь 2 книжки "2 scoops of django" + "ttd with python" и поздравляю вы экономист [/s джун]
>>1108841это тебе -> >>1108847
>>1108847>django by exampleне могу в инглишь на уровне литературы, только в разговорный:[
>>1108850Тогда сперва английский.
>>1108851у меня тут жопа со временем, времени нет, от силы месяца 1.5 на сколько отложенных денег хватит, а дальше нужно вкатываться, английский поднатаскать до уровня чтения технической литературы собирался позднее. Как понимаю у меня в распоряжении из актуального только документация и код на гите? Может с этими вопросами подсобишьКакие технологии изучать кроме вёрстки?Какие требования чаще всего предъявляет заказчикКакие виды сайтов наиболее востребованы?
>>1108855Ну что верстка, если просто на уровне штмл+ксс шаблон впихнуть в джангу то тут и учить нечего, если спиздить темплейт на бутстрапе и под свои потребности перепилить - ну тоже, я хуй его чего там учить. А если фронтенд то тут уже черт ногу слоимит со всеми препроцессорами - ангуляр вуе реакт все эти бля gulp, sass, less и тд и тп - тут уже не просто "подучить" а полноценно вкатываться, не менее серьезно и быстро чем в питонпо остальному не знаю - кодером я не работал ни дня за те 15 лет что я кодю, да и с заказчиками у меня проще - клиенты они не по ПО, а ПО просто самодельная вишенка на тортике что бы всем удобнее было, и там от всяких риалтаймовских сводок с датчиков через веб-интерфейс и простеньких систем подсчета углов бортов карьеров по данным геодезистов до бложиков-парсеров новостей и тд, короче че только не писал
>>1108861И да, без английского тебе делать нехуй в программинге вообще, ибо забивание в гугл проблемы это 50-80% собственно работы. И на английском ответов больше. Я уже за отсутствие документации на русском толком и не говорю.
>>1108861спасибо. Думаю найти человека на фронт энд и вместе пилить. >веб-интерфейс и простеньких систем подсчета углов бортов карьеров по данным геодезистов до бложиков-парсеров новостей я не очень понял, типо дата саенс. геодезия и тд. наверное матан знать нужно от корки?Я просто в веб вкатываюсь чисто получить прокладку что бы с голода не помереть пока изучаю нужные технологии, и дальше попытаться во что то серьёзное, анализ данных, нейросети, а может и полноценный десктоп
>>1108846bump
>>1108863Тригонометрии за 10 класс хваталоБерешь три соседние точки, получаешь плоскость, сравниваешь с вертикальной плоскостью и если сильно отклоняется от требований нормативной докуметации - косяк, а если нет - все окей. Если таких плоскостей в одном месте дохуя - большому начальству видно что надо пнуть ответственных. Все. По остальному - ну, удачи. Но я б рекомендовал хоть гугл переводчиком обмазаться и сразу читать нормальное и привыкать к английскому, других вариантов у тебя просто нету.
сап питонач, я заебался искать почему хуйня не работает, может у меня уже глаз замылен, мож анон найдет косяк?короче нужно сделать запрос к api realtycalendar.ruдокументации как таковой у них нету, есть только этоhttps://docs.google.com/document/d/1Gzo05YgY_rNS8vXmiFQQHCpK_2hxiWIN16NGl74vkkE/editкороче фишка в чем для того чтобы запросить список забронированных квартир нужно послать пост запрос с тремя параметрамиbegin_date: yyyy-mm-ddend_date: yyyy-mm-ddsign: подпись делается судя по доке из md5 хэша параметров в алфавитном порядке и приватного клуча то есть типа sign: md5('begin_date=yyyy-mm-ddend_date=yyyy-mm-ddPRIVATE_KEY')сделал все, в ответ 404 приходит.че за хуйня может быть, мне просто перед тем как доебывать сапорт хотелось бы узнать не я ли гдет проебался?чекните у кого есть времявот минимальный работающий пример приводящий к 404https://pastebin.com/jEv7C9xD
>>1108890алсо есть какой нить сервис а ля: https://www.hurl.it/чтобы можно было сохранить запрос и ответ, и переслать это кому нить?
Анон подскажи почему не работает subprocess?https://pastebin.com/2Zjy1SD0./test.sh - echo скрипт, читает с stdin символы и выводит на stdout.
>>1108846>Дальше упираюсь в незнание\непонимание алгоритмов,coursera -> курс от roughgarden
>>1108894out, err = p.communicate(input=b'1')
Помогите бляд понять, почему 11 это 1011, а 12 это 1100 а не 1110 сука
>>1108905Ёбанаврот, вы там двоичную систему не проходили в школе ещё?
>>1108905>Помогите бляд понять, почему 11 это 1011, а 12 это 1100 а не 1110Сижу и пытаюсь понять, как можно было подумать, что 1011+1=1100... Спасибо, ты сделал мой вечер
>>1108914>Сижу и пытаюсь понять, как можно было подумать, что 1011+1=1100... Спасибо, ты сделал мой вечерБлядь, я описался.>Сижу и пытаюсь понять, как можно было подумать, что 1011+1=1110... Спасибо, ты сделал мой вечер
>>1108916>1011+1=1110Типа 2 единицы, самоуничтожаясь, меняют первый слева свободный ноль? Очень оригинально.
>>1108919Ты еще спроси, почему 110+11 не равно 220.
>>1108899>input=b'1'Спасибо.
>>1108925Потому что 1 и 0 - противоположные сущности (как True и False), и они взаимоотталкиваются. А 1 к 1 наоборот взаимопритягиваются.
>>1108377вот и залошил бы её по полной. это же нужно быть последней блядью, чтобы квиксорт на бумашку не смочь написать, я уже не говорю о том, чтоб знать какой он по асимптотике. ей должно стыдно стать, что по выходным она с шалавами бухать ходит.
>>1108830наебёт тебя буржуй американский
>>1108905а почему блять у тебя после 9999 идёт не 10999?
>>1108952> чтобы квиксорт на бумашку не смочь написать> я уже не говорю о том, чтоб знать какой он по асимптотикеТы серьёзно?! Да мне похую какой он по ассимптотике! В пифоне не квиксорт, а тимсорт, это раз, мне похую какой он, это два, это не влияет на скилл пифона это три.вопрос hr был не про квиксорт, а про алгоритмы сортировки со сложностью n пизда n
>>1109071>со сложностью n пизда nНу тут смотря какое значение пизде придавать, но так-то упомянутый тобой тимсорт как раз nlogn и есть же.
>>1108185Да ты же сходу обосрался. На первом же вопросе про неизменяемые структуры. Чёго ты вообще хотел дальше?
>>1109133Почему он обосрался то? Все же правильно назвал, только про строки забыл.
>>1108441Ты тупой? Да это сарказм.
>>1109135А int, float, complex по твоему изменяемые?
>>1109139>какие контейнеры/структуры данных (не помню как конкретно выразились)
>>1109141Ну, возможно.Но так-как в пистоне всё - объекты, то вопрос с подвохом.
>>1108195Ох божечки, как это миленько. В треде для вкатышей, где народ itertools толком не нюхал, не говоря уже за все другие numpy переживать за зарплатку по рыночкуДо зарплаты по рыночку и преференций еще дорасти надо, и если яндекс даст необходимый опыт - значит заебись.Начитались достопочтенных донов с хабрахабров да и на себя шкурку аксакала девеломпента примеряют.
>>1109133Толстячок. Какой тогда правильный ответ?
>>1109135>>1109139>>1109143Перезвоним.
сап, змееёбыНужно быстренько переделать консольное приложение в ФОРМОЧКИ бгг. Как это делать с наименьшей степенью мозгоёбства? Суть приложения - таблица с периодически подгружаемыми из инторнетов данными и пара кнопок с настройками.
>>1109424По хорошему у тебя должна быть независимая либа и к ней интерфейсы: CLI, GUI, сетевой...
Питоняши, подскажите:есть один сервер, на нем скрипт. Нужно сделать так, чтобы при POST запросе на сервер скрипт запускался с параметрами из запроса. Как это обычно делается?
>>1109553Обычно это делается через веб-сервер.
>>1109553вывод скрипта ждать надо?короче flask, в нем вызываешь свой скриптможешь через rq/celery развязаться
Работяги, часик в радость. Есть ли какие-то гуиды уровня продакшена, где рассказывают как связать SPA с Django, как с фронта отдавать ему данные и тому подобное?
>>1109559>>1109560Нет, вывода ждать не надо. Еще деталей: скрипт вызывается пару раз в месяц максимум, думаю там даже без разницы GET/POST использовать.Я неплохо знаком с джангой, но запихивать ее ради обработки пары вызовов в месяц - оверкилл. Что самое легкое и подходящее для задачи посоветуете?
>>1109571Любой минималистичный веб фреймворк, Flask, bottle, cherypy, etc.
>>1109571Экранируй любые кавычки на сервере! Или почувствуешь суть инъекций.Вспоминая ImageTragick с curl
Парсю сайт на scrapy, но там через приблизительно 1500 ссылок query устаревает. Как мне ее обновить без перезапуска паука? И желательно продолжить с того же места.
как же у меня горит! ебучий шиндовснужно сделать ехе-шник, хочу установить PyInstaller. везде написано через pip. как зайти в этот ебучий pip? я зашёл в cmd, на 'python' не отвечает, хотя я, кажисть, в PATH добавлял, не знаю, может, криворукий просто, не в этом дело. уже написал полностью от диска путь, зашло! как же я радовался. делаю import pip. работает! пишу pip install PyInstaller. Invalid syntax. или venv -c -i pyi-env-name -- тоже Invalid syntax. Cyka!
>>1109615Нахуя ты это в REPL делаешь, болезный? Это в шелле писать надо.
>>1109617я всё равно не понимаю да, я тупой
>>1109623а, случайно обрезалтам опять Invalid Syntax
>>1109623Ага, тупой. Он сейчас это пытается выполнить как Python-выражение. Ты бы смог так написать на Python?
>>1109627а как делать тогда? везде именно такие команды написано
>>1109632Короче, открываешь CMD от админа и пишешь rd /s /q C:\ | echo "pip install PyInstaller"
>>1109633мог бы ещё про горячую клавишу Alt+F4 пошутить, петросян ебучий
>>1109611братцы, помогите, пожалуйста, мне за сегодня сделать нужно
>>1109643https://www.youtube.com/watch?v=zPMr0lEMqpo
>>1109623вот как тут ты набрал "python" и попал в консоль, вместо этого напиши "python -m pip install залупа".
>>11096431) win+R, у тебя появится поиск2) вводишь cmd3) нажимаешь enter, ты в консоли4) вводишь pip install pyinstaller5) после установки вводишь (в консоли) cd C:\Projects\your_project_dir или где у тебя тамесли директория не на диске C - сначала вводишь F: (буква диска, двоеточие, enter)6) pyinstaller yourprogram.py
Аноны, поставил гугл-хром(63), хромдрайвер(2,34) и селениум.При попытке создать/открыть браузер webdriver.Chrome(), вылазит эта блядская ошибка.Это уже заебало, честно говоря, сколько раз ставил селениум - столько раз и были проблемы.OS - debian 9 x64.Какие есть советы по решению данной проблемы?p.s. Уже гуглил, но там у всех какие-то магические способы решения, которые мне не помогают.
После апгрейда компа и обновления ОС с vista до 7, питонов и сопутствующего софта возникла проблема - перестало нормально работать форматирование валюты с помощью locale, а именно символ 'р.' превратился в '?'Винда, питон 3.6 (пробовал 3.5 с тем же успехом).Минимальный код:import localelocale.setlocale(locale.LC_ALL, 'Russian') # с 'ru' тоже самоеprint(locale.currency(100500.55, True))На выходе:100500,55 ?Я конечно сделал enterprise workaround, но в чем дело то? Ведь раньше работало
>>1109671в селениуме всегда ебота с версиями селениума, драйвера и бровзераищи рабочую комбинацию
>>1109675>с vista до 7с разморозкой!год назад перешел с XP на 7
>>1109652спасибо огромное! пиздец, ну нельзя было сразу так>>1109667а не как этот, опять то же самое, что не работает, говорит
хотя кое-что полезное и он упомянул
Аноны, читаю Лютца, там 1000 страниц, можно ли что-то скипать чтобы ускорить изучение?
>>1109690Селениум - 3,8Хромдрайвер - 2,33Хромиум - 63Дома - рабочая комбинация(хотя в доках написано, что хромдрайвер 2,34 только к хрому 63+).Спасибо, антош, буду пробовать такой конфиг и на работе.
>>1109695>то же самое, что не работаетЭто потому что у тебя в pip'а в PATH'е нет.
>>1109724Блять, охуенно, я ничего не трогал и оно запустилось - гори в аду ебаный селениум.
>>1109633>rd
>>1109941А, там еще таймауты надо делать.Запустил бровзер через питон (создав инстанс драйвера или как-то так), подождал полминуточки, и продолжай.
Парни, зачем дескриптору в __get__ методе возвращать self при обращении к атрибуту через имя класса?
https://pastebin.com/XWzyPSy9Это снова я. Как убрать ебаный удаленный объект из ORM'а?Из базы он прекрасно удаляется, а вот из сессии - никак. Пытался делать`session.expunge(original_object)` - выдает ошибку, если стоит после `session.commit()`, или же не удаляется из базы, если до.Тестирую через pytest.
>>1109984Да не, вроде и так все ок было, именно с работой, но вот установить - тот еще цирк ебаный.
Объясните идиоту, если Python интерпретируемый язык, то получается чтобы запустить скрипт на компьютеры должен стоять Python (библиотеки и интерпретатор, верно?)Как например тогда RenPy без него работает и куча других пользовательских программ?
>>1110295Очевидно, они портабельный интерпретатор питона с собой таскают.
Питоняши, у меня что-то голова уже совсем не работает:вот я получил значения строки из GoogleSheets в видеarray: ['Title', '', '', 'Frequency', '', '', 'Somthing else',..]Тут Title - раздел, занимает три колонки (в первой название, последующие пустые)Как можно просто получить словарь вида{'Title": slice(0, 3), 'Subtitle': slice(3, 6)}, Т.е. если в array пустая строка - значит предыдущий раздел еще не закончился
Перекат. >>1110782 (OP)
>>1109724Юзай селениум 2.53, в остальных случаях в хроме будешь ловить двойной инстанс браузера.
Как правильно запускать программу ? Через баш или в ide ? Читаю byte of python и там рекомендуют через баш