24 декабря Архивач восстановлен после серьёзной аварии. К сожалению, значительная часть сохранённых изображений и видео была потеряна. Подробности случившегося. Мы призываем всех неравнодушных помочь нам с восстановлением утраченного контента!
Анон, генерация ссылки на восстановления пароля обязательно должна пилиться через Signing? Если она будет храниться в БД, то это не будет считаться дырявым и уязвимым быдлокодом?
>>832689 Да. Я есть. Прогрессирую неплохо, учитывая что одновременно подтягиваю сам питон. O'Rielly Introduction to Flask. Видеокурс. Flask Web Development (2014) (e-book). https://github.com/humiaozuzu/awesome-flask - репа со всем что только возможно. Если у тебя OSX то можешь подтянуть себе Dash.app и прогрузить туда гайды по питону, фласку и джиндже. В качестве редактора рекомендую chocolat (есть автокомплит для фласка). Ну в PyCharm тоже вроде есть поддержка фласк. Дерзай, удачи.
>>832700 Забыл добавить - многие вещи поменялись с момента издания этих гайдов. Обычно обратная совместимость есть, но если сервер сыплет "блаблабла deprecated" то пиздуй сразу в доки и смотри как делать по-новому.
>>832705 Ну не знаю даже. Тащить целый комбайн с индексацией и плагинами, да еще и который в джаве крутится это как-то не по-питоньи. Мне, как новичку, редактора хватает.
>>832745 Я теперь понял, что рекурсивная функцию это просто как обычный цикл. В нём есть выход, есть продолжение. А изменение i - это вызов функции с измененным аргументом
Двощ, ведь для того чтобы тебя приняли на работу каким-нибудь помощником, недостаточно знать чистый питон, там же нужны всякие библиотеки. Так вот, когда нужно начинать учить вот это вот всё ? И вообще вопрос, что нужно знать студенты, чтобы подрабатывать в сфере it ?
Аноны, я сейчас делаю сайт. Как доделаю его, хочу вам показать, чтобы вы оценили, и указали на быдлокод, который целесообразно подкрутить. Поможешь мне, анончик? А то я прям стесняюсь так. Первый раз свой код показывать. Это как первый секс которого у меня никогда не было
>>833153 джанго, обычный бложик с постами, коментами, рейтингами, левелами и т.п. Я просто не знаю, какой именно сайт пилить для хорошего резюме, и пока что делаю самый очевидный вариант.
>>833210 Джанго понятное как банка пива, если ты выполнил немного условий предварительно: 1. Выучил питон 2. Выучил стандартную библиотеку 3. Поигрался с bottle 4. Навернул книженцию все еще актуального и совершенно без проблем до сих пор работающего Адриана Головатого
Сап. На связи начинающий питонятор. Есть следующая задача: необходимо выдрать кусок html кода с довольно большого количества страниц жж, немного отредактировать его с помощью регулярных выражений и отправить через форму на другом сайте. Подскажите, какие библиотеки смогут осуществить подобное? Каких мануалов навернуть? Надеюсь на доброту анона, с меня как обычно нихуя
>>833469 Там нельзя делать шаг, отличный от 1. Ребята, я вот щас продолжаю эти рекурсивные функции решать. На чекио заниматься нельзя, но теперь их задания кажутся мне сложными. Я остановился на какой-то ледяной станции, 2 задание, сложность - элементари. Там дан набор команд (PUSH x, POP, KEEP) и нужно их сделать в общем. Я до поломки чекио пытался сделать, но не получалось. В школе программиста задания тоже сложные. Зайчика я так и не сделал, а следующее за ним вообще страшное какое-то. Я слышал, что на питоне плохо оптимизированы рекурсии, так что мне тогда изучать ? Куда идти ?
загрузить все фотки в оригинальном разрешении загрузить все видео в оригинальном разрешении загружам в папку <username> загружаем по порядку, сначала новые, потом старые если находим в папке уже загруженный файл то остановка дальнейших загрузок и выход
>>833528 Какую ? Следующая за зайчиком - пикрелейтед. Я её даже не пробовал решать из-за лени. Так что мне делать дальше ? С питоном я познакомился, как углубиться ?
>>833568 Тут ничего такого питоно-специфичного нет. Математику нужно знать, в идеале аналитическую геометрию (векторы, скалярное произведение), но можно обойтись и линейными уравнениями.
>>833568 Завтра ищешь в интернете книжку Dive into python. Похуй если ничего не поймешь. Затем идешь на python.org и изучаешь стандартную библиотеку от корки до корки. Потом зубришь, именно, сука, вызубриваешь конвенцию по написанию питоньего кода - PEP8, чтобы от зубов отскакивало. Когда напишешь свою первую имиджборду, по пути изучив верстку на html+css, скачиваешь и изучаешь любой питоний асинхронный вебсервер, рекомендую Tornado или Gevent. Как переделаешь имиджборду, чтобы выдавала по крайней мере 5 тысяч запросов в секунду, можешь идти дальше - тебя ждет увлекательный мир хайлоада. Apache Hadoop, сверхбыстрые асинхронные key-value хранилища, MapReduce. Отсос хиккующих выблядков / просто неудачников типа рейфага или сисярп/джава-хуесосов, которые сосут хуй по жизни не заставит себя ждать и уже через пол года ты будешь получать такие суммы, что любая баба будет течь[1] при одном упоминании твоей зарплаты.
>>833638 >Что это ? Берешь список дачников / участков, делишь на несколько частей, все части обрабатываешь параллельно (например, через multiprocessing)
>>833692 спасибо антох, а то гугл выдаёт неизведаннoсть: from string import maketrans
def replace_text(text, valc): """ text = 'abcdefg' valc = {'a': 1, 'g': 2} print replace_text(text, valc) 1bcdef2 """ frm = ''.join([str(i) for i in valc.keys()]) to = ''.join([str(i) for i in valc.values()]) trantab = maketrans(frm, to) return text.translate(trantab)
if __name__ == '__main__': import doctest doctest.testmod()
>>833698 Это если ты хочешь по таблице заменять символы. Вместо replace('o', 'a').replace('b', 'c'), можно создавать таблицу замены: {'o': 'a', 'b': 'c'}
Почему не логинится, кто его знает. Может там токен в форме где-нибудь, который ты не указал. Может логин/пароль неверные. Посмотри в хроме, какие данные форма отправляет на сервер.
>>832681 (OP) Я так больше не могу. Сначала ебался с настройкой версий самого питона, потому что в ёбаной убунте изначально прописан второй, а для ёбанной обезьянги 1.8.7 нужен третий. Затем я ебался с самой обезьянгой, потому что инструкция на сайте написана для 1.10, а у меня стоит 1.8.7. и я вообще уже не ебу, как её обновлять. Я только собрался с силами, но, блять, возникают какие-то мелкие проблемы, которые СУКА я не могу решить даже с гуглом. СУКА СУКА СУУУКАА как вы заебали со своими версиями, сука, почему всё не может работать СУКА СУУКАААА А АААААА !!№;;"!!!)"ВВА" ЫУА ЫВА
>>833780>>833788 +1 голос к requests. Удобно, ясно, просто. На твоем уровне за голову хватит. На будущее: не надо менять значение переменной без нужды, избегай конструкций типа x = func(x). Я про encoded_data. Изъебнись и придумай другое название, с тебя не убудет. Использовать в функции аргументы из глобального скоупа (контекста, пространства имен), не передавая их в функцию явно - не очень хорошо. Если уж заворачиваешь в функцию, должно быть def login(url, headers, login_data). Можно писать дефолтные значения типа headers=headers если хочется ее вызывать просто как login() и чтобы все само сделалось.
>>833806 С чем ты там ебался я не пойму? На большинстве дебиан based систем (в тч убунты) ты просто пишешь в консольке python3 если хочешь третий питон и python если второй. Так же и скрипты (python3 script.py). Та же херня с pip, если для третьего питона то pip3 install something
Двощ, а вот что нужно, чтобы сделать простенькое приложение - тест ПДД ? То есть чтобы немного дизайн был и собственно само прохождение теста. Какой уровень знаний там нужен ? И что нужно знать ?
>>833856 В том-то и дело, что у меня ПОСТОЯННО СУКА возникают какие-то мелкие проблемы, которые даже с гуглением нельзя решить. А потом выясняется, что у них элементарное решение и я не понятно на что потратил 3 часа. СУУУУККА КАК ЗАЕБАЛО НУ ЁБ ТВОЮ МАТЬ
>>833902 Если веб - то как минимум простой веб-фреймворк, хтмл. Но это будет совсем страшно. Для нормального в 2к16 вида придется изучить какую-нибудь простую клиентскую js-библиотеку и фреймворк типа семантека или бутстрапа. Если десктоп - то питониевую обертку гуев (tkinter, gtk, qt).
На повестке дня: 1. Кодировки-кодировочки. Ебёмся третий день. 2. Устанавливаем 64битный пичарм на 16битную шиндовс. 3. Какой антивирус мне поставить на питон? 4. Что такое PATH. Откровения бывалых. 5. pip распидорасил всё после апдейта, переустанавливаем всем селом. 6. Хакирские секреты чорной магии: как компилять экстеншены. Ставим cygwin под mingw под winapi под msvc под виртуалкой на убунте. 7. Супир алгаритмы: пишем пагинацию на MySQL
>>833955 От души, братан! Не уверен, но мне кажется что ты один и тот же чел, который в каждом треде подсказывает ребзе как и что делать не обкладывая хуями.
Я не помню, почему я решил там деку использовать, может быть потому что не знал про нее раньше и наткнулся на нее на stackoverflow. Там можно было через слайсы сделать: s[i:] + s[:i].
>>833632 > Завтра ищешь в интернете книжку Dive into python. Похуй если ничего не поймешь. Затем идешь на python.org и изучаешь стандартную библио Копипаста блять !!!!!!!!!! Но я всё равно начал читать вглубь питона. Когда прочитаю - смогу решать задачки ?
Сделал вот простенькую задачку на поиск НОК. Ребята, когда я делаю такие задачи, я не ощущаю челенджа, но я не могу делать более сложные задания. Что делать ? Куда я свернул не туда ? Уже совсем скоро ебаная олимпиада, а я не готов ! Алсо, я решил эту задачу с помощью динамического программирования ?
Есть задача написать чекер сайтов по списку на питоне, на входе - файл с 1кк доменов, нужно пройтись по каждому (в идеале - асинхронно и в несколько потоков) и проверить вхождение определенного текста в исходном коде страницы. Если текст присутствует - записать эти домены в отдельный файл на выходе. Анон, что посоветуешь? Возможно либы какие, статьи почитать там? Сам на питон перекатился неделю как, просто многопоточный вариант сего говна наговнокодил, но скорость не радует и где-то память течет :(
Pillow. Есть ли возможность писать текст на изображении в поле определенного размера и положения с автоадаптацией размера шрифта под это поле? Костыли или другие модули приветствуются.
>>834511 спасибо, поставил 50к строк на тест. Несколько вопросов: Почему он пишет результаты в файл каждые ~420 строк? Как-то можно выставить таймаут на соединения (во входном списке присутствуют мертвые домены, по идее это должно увеличить скорость). Влияет ли на скорость кол-во воркеров?
>>834511 И можно ли как-то запустить данный код еще и в несколько потоков? В один поток скорость асинхронного решения меньше, чем синхронного в 100 потоков :( Примерно 400 строк в минуту против 1000 строк в минуту на 100 потоках
Блять пиздец, я уже примерно придумал, как можно решить. Нужно типа посчитать количество способов получить n разными слагаемыми, при том, что каждое левое число должно быть меньше правого, но блять как это в змеиный язык перевести ?
В общем есть один flask-wtf. И есть сверстанный макет. Возможно ли как-то пробросить уже вшитые формы макета в валидатор, а не вставлять формы методами wtf? Или может есть какая-нибудь другая библиотека, которая умеет валидировать типичные инпуты типа дат, е-мэйлов и резать длину?
> И можно ли как-то запустить данный код еще и в несколько потоков? В один поток скорость асинхронного решения меньше, чем синхронного в 100 потоков :( Не знаю. Дай мне свой список ссылок.
>>834732 Что-то непонятное задание. Имеется в виду сколько ступенек будет у лесенки из n кубиков? Или сколько всего таких лесенок можно сделать? А какие там примеры?
А теперь давай перефразируем эту хуйню как: Дано число А. Нужно найти все множества, элементы которого будучу проссумироваными дадут нам число А. Из множества множеств небходимо исключить такие множества где элементы повторяются. Изи-пизи 5-10 строк кода на рубях, кек.
>>834751 > Из множества множеств небходимо исключить такие множества где элементы повторяются. И где более дальние элементы больше чем ближние типа. Ну и как это сделать ?
ожидаемо, нихуя не будет работать. вообще ограничение на 16 мебе памяти намекает, что правильным решением будет маршализировать результаты функции и с йоба-фейсом сдать решение комиссии, а чё тз-то выполнено, все работает. Ладно шучу. хуй знает как оптимизировать, можно даже подумать, но навскидку, я бы подумал над оптимизированным алгоритмом генерации слагаемых..
Питонисты, необходима ваша помощь. Рискну предположить что не я первый с этим обращаюсь. Но что за хрень происходит на данной пикче. 1)Импортировал файл верхнего уровня. Программа запустилась. 2)Импортировал функцию reload 3)Использовал reload для prog и ничего не запустилось. 4)Попытался reload модуля script1 для prog. Ничего не запустилось. Потому-что не импортировал сначала script1 5)Импортировал script1 6)Применил reload для script1 и все прекрасно заработало именно для этого модуля. Какого черта не запускает тогда файл верхнего уровня?
для N = 1,2 ответ единичка. Внутренее состояние: множество множеств мощностью в один элемент [[x]], т.е. [[1]] или [[2]].
для K из 3..N (N - число на входе) в цикле i от 1 до К делаем следующую штуку: берем i, определяем с = K - i, смотрим множество множеств для с (для K 1 и 2 множеств множеств мемоизировано зарание). Множество множеств для с дополненное элементом i, будет частью множества для i. Дополняем, естественно не должно быть повторов внутри дополняемого множества (все элементы дополняемого множества строго больше i, если нет отклоняем) это же исключит симметрию.
Результатом работы будет множество множеств для i, просто объединяем их. Мемоизируем объединение в кэше (жрать не много памяти будет для 100 элементов полагаю влезем в 16 мб) для последующего использования. В полученном объединении мощность это ответ для i. Соответственно последовательно строим множества пока не дойдем до K=i. Получается быстро и эффективно, правда строчек будет не 5-7, а под 30-40 , ну или меньше, смотря как писать.
Ну может там какие тонкости неясно написал, но это походу дела уточняется. Это будет полное решение этого нинужного говна. Простая задачка, разминка для ума перед сессией формошлепства.
От жеж редиска Лутц. В топике пишет про функцию reload, но не пишет что функция не транзитивна. Я ебусь с запуском файла верхнего уровня и спустя 20 страниц натыкаюсь на эту в общем то важную особенность.
Есть 2 вроде как идентичных куска кода http://pastebin.com/AgXLTndW Результат они выдают одинаковый. Кроме вида цикла ничего не меняется. Весь прикол в том, что вариант с for ... range выполняется в 10-20 раз медленнее, чем с while.
Кстати, анончики - кто на яблоках использует приложение pythonista от сумрачного немецкого гения? А то можно вместе напилить полезных мобильных инструментов во славу анона.
Что делать, если Питон заебал своей медлительностью? Нет, серьезно, более уёбищной скорости выполнения надо поискать.
Простейший пример: битовый числа 657 на 10^8 повторенирях. Сравниваю время выполнения на Питоне и на Си (написано через while i< а не через for i in range чтобы было всё, сука, честно и одинаково).
################## from time import time i=1 t1=time() while i <= 108: a=657 a<<1 i+=1 t2=time() print(t2-t1) ################## и ################## #include <stdio.h> #include <time.h> #define N 657 int main(void) { int a,i=1; double t1,t2; t1 = clock(); while (i <= 100000000) { a=N; a<<1; ++i; } t2 = clock(); printf("Time = %f", (t2-t1)/CLOCKS_PER_SEC); return 0; } ##################
КАКОГО ХУЯ интерпретатор Питона тратит на это больше 19 секунд, а скомпилированный код Си делает то же самое за 0.143 секунды???
>>835136 >интерпретатор Питона тратит на это больше 19 секунд Начнём с того, что time.time время не в секундах показывает, а хуй пойми как. А продолжим пикрилом. У тебя пень 3 что ли, что 19 секунд выполняется?
>>835136 >написано через while i< а не через for i in range >чтобы было всё, сука, честно и одинаково Для таких ебланов как ты были придуманы генераторы
>>835136 > (написано через while i< а не через for i in range чтобы было всё, сука, честно и одинаково). У тебя какое-то странное понимание честности и одинаковости.
оптимизация алгоритма годная да, а вот то что петон жрет четверть гигабайта в пике это показывает как заточены вычисления матриц, кекус. (спойлер: через жопу)
Аноны, довольно хорошо знаю Django и сына его REST Framework, а также святого Docker, хотя ни разу еще не выкатывался в продакшен. Поэтому, у меня просьба, подкиньте идею, с которой я смогу познать тонкости и тяготы деплоя, поддержки и развития проекта. А если этот проект будет сам по себе полезен и интересен, то вообще охуенно.
P.S. Если ты зеленый самоучка, то в ответ помогу с Django и Elasticsearch(хотя откуда тебе знать такие слова)
>>835636 1. У меня нет друзей, не нужно. 2. Не понял, в чем фишка. Удобный сайт для подписки на спам? Но зачем? 3. И что делать с этими достопримечательностями потом? 4. Это неплохо, но я хотел себе на планшет оффлайн базу данных лекарств.
>>835640 2. Потому что за пределами it подписки это почти единственный способ актуально узнавать новости типа хоть какие есть конференции и тд Куча народу ими пользуется. Ясен хуй что большая часть сразу метит как прочитанные, но все равно очень даже пользуются. 3. Списком выводить по gps- удаленности от юзера >>835641 2. Я что странно даже не видел попыток что-то такое делать, одни кошельки с платными блядь категориями и возможностью сфоткать чек
>>835636 >>835639 Неплохо, спасибо. Надо завести такую же привычку. )) Есть пару идей, которые уже прикинул как реализовать. Недавно запилил пре-альфу - сравнение цен в магазинах через парсинг сайтов или прайс-листы. Вообще планирую довести все это до полноценной системы, оценивающей выгодность покупки у того или иного поставщика.
>>835624 На еще че я хочу: Генератор профилактик заболеваний
1. Составить таблицу болезней 2. Составить таблицу профилактик с категориями 1) физ упражнения 2) регулярные обследования идти анализы 3) курсы медикаментов для профилактики 4) диеты ........ 3. Составить таблицы более подробные по п.2: физ упражнения с картинками поз, альтернативные медикаменты, разница в двух анализах дающих на выходе один результат - короче эдакое many to many relationship по альтернатива 4. Проверка не противоречивости рекомендаций, что бы больному с циррозом от гепатита не предлагать бокал красного вина для снижения давления 5. Галочками выбирать болезни, получать рекомендации вплоть до экспорта анализов в календарь аутлука или регулярных напоминаний / обновлений по интересовавшим болезням 6. Калькулятор что бы предлагать на основании некоторых вводных рекомендованные болячки - ну типа сидячая работа, малоподвижный образ жизни, редкий секс - бойся простатита, 7. интеграция калькулятора в п.4: жирный - значит не бегай, а крути педали что бы колени не убить и тд
>>835668 Не заебывайся на сложном, оценил задачу - не видишь решения - приступай к следующей, потом вернешься.
Даже если хуево подготовился - езжай и пробуй свои силы, хоть соснешь - будешь помнить потом как неприятно всасывать и не будешь проебывать время на нюни.
Ешь, спи, дрочи поменьше - дрочуны не доводят дела до конца. ))
В своё время тоже ехал на них. Если не готовился к ним ещё со средней школы, то и смысла ехать нету. Ради интереса разве. А учитывая, как бинарно выглядят для тебя задачи, и то, что это твой последний шанс (11 класс), то советую тебе лучше целиться на ЕГЭ, а не на подготовку к синтетическим задачам.
>>833638 Даю тебе доступ к репозиторию с кодом, даю пару тасков что тебе надо допилить, ты отправляешь коммиты, спрашиваешь вопросы, я тебе поясняю по харду за твой код, как лучше, за PEP8 и все такое. Проект писался для таких же целей. Профита с него нет.
Кратко о себе. 10 лет программирую на всякой хуйне, в основном базы данных. Могу ограниченно в шарпы, жабу, обжект паскал(что коненчсо кал), и прочее такое.
То есть со мной можно говорить на одном языке.
Теперь конкретно задаю свои ответы. Сел за Пайтон пару дней назад. Покурил маны, дошел до 6й ( по счету 7й) задачи Пайтон челенджа, стало скучно.
Решил отключить голову от загадок, и написать простецеий клиент для веб сервиса своей конторы. Чисто попрактиковаться. И... соснул со старта.
Подскажите мне, есть в этом -вашем, блядь ПИТОНЕ, адекватная сборка(модуль) для работы с SOAP(WSDL), чтобы работало сразу и без ебли?
Я конечно погуглил, но половина того, что предлагают тут https://www.python.org/ у меня попросту не ставится, половина не взлетает, видимо из-за каких то багов с совместимостью.
>>835819 Зачем? Реализовать xml-rpc протокол (как сервер так и клиент) можно за 2-3 вечера под пивас. А так мануалов много, даже гуглить за тебя не буду.
>>835831 Если у тебя не завелся suds, то это проблемы вашей анальной модерации, но никак не python. Что ты подразумеваешь под базовыми сборками? Теория вся описана в rfc. Можешь попробовать с virtualenv поиграться.
Двачик, я уже полтора часа пытаюсь решить эту ебливую задачку. Нашел подсказку (пик 3) и вот по этой подсказке пытаюсь решить, но у меня проблема - змея посылает меня на хуй и не выдает мне число ПЕРВОГО ВХОЖДЕНИЯ подстроки. Что делать ? Может я всё-таки тупой и мне нахуй не нужно лезть в олимпиаду ? Здесь сложность 31% всего, а я уже полтора часа решаю
Сап, питонач. Что будет жрать меньше памяти и процессорного времени - flask или aiohttp? Требуется уместить на сервере как можно больше однотипных сайтов, отличающихся по сути только базами данных. И вдогонку - взлетит ли идея на aiohttp соорудить эдакий диспатчер приложений, чтоб одним процессом обслуживать сразу дохера сайтов - асинхронщина же?
>>836023 в чём проблема то? Первым шагом строишь уникальные массивы, где границы массива это первое и последнее число равное первому сектору.
Потом в цикле начиная с самого короткого проходишь все это говно по каждому массиву и доказываешь что каждое повторение цикла и есть текущий цикл. Или скипаешь эту хуйню И идешь дальше.
А это чёрт его знает, от природы/с детства. Любить решать всякие головоломки, ребусы хуебы, задачи на мудрецов в шляпах и т.д. Ну и те же задачи на программирование, наверное, тоже помогают.
>>836090 Вопрос субстрата в виде уровня развития соответствующих полей и подполей головного мозга, маня. А это врожденный фактор, который нельзя ни прокачать и ни развить.
>>836093 Ты биолог дохуя? Нет. Если бы Энштейн не пошел бы в школу, а вырос в лесу, стал бы он великим ученым? Нет. Гены обуславливают стартовые условия, которые кстати можно еще и просрать, если ничего не делать.
>>836095 Да, дохуя биолог. Эйнштейн пошел в школу - круто, да. Только вот у него был аномальный головной мозг, и, грубо говоря очень простым языком, математические области были нереально большими в ущерб гуманитарным.
Но есть еще примеры. Куча Васянов, которые годами пытаются научиться кодить, но все равно ничего не получается. А все почему? А потому, что от природы тупые. Ассоциативные области головного мозга, отвечающие за логическое и абстрактное мышление, у таких людей ничтожных размеров; Даже если они положат всю свою жизнь на то, чтобы кодить, они все равно будут отставать от тех, кого биологический рандом наградил нормальным субстратом для решения задач погроммирования.
И да, я не утверждал, что данный сударь тупой, и предел его развития настолько низкий, что ему ничего не светит.
Анон, делаю по https://gist.github.com/wannabearockstar/9bc790d3b5be4635b1c4 тестовый проект для набивки руки. Автор имеет пол. Надо думать что он может быть только мужик или баба. Куда деть логику обработки того, правильно ли юзер вбил пол и как мне это реальизовать? В классе прямо бахнуть проверку? Или есть более элегантный способ?
>>836180 добавочный вопрос - как реализовать пользователей сайта и добавить им возможность добавлять книги, авторов, добавить личный кабинет и прочую шушару? В какую сторону смотреть?
>>836229 В джанге все это есть по умолчанию. Вот отсюда можешь стартануть: https://docs.djangoproject.com/en/1.10/topics/auth/ Там внизу есть ссылки, по ним попереходи и найдешь информацию о том, как использовать стандартные auth views, расширять модель пользователя и прочее.
Профили и добавление книг/авторов, в принципе, делаются так же, как и обычные страницы с формами. Ну или из админки можно все это добавлять.
>>836300 Нампи, подлец, astype(int) перевёл в numpy.int64, а не питоновский. Потому и медленее. Но у тебя список в десять раз дольше создаётся — http://ideone.com/ep2NM4
>>836351 Тебя миллион конвертаций в int не смущают?
Нихуя не понятно, в чём там у тебя проблема-то? Ход по диагонали это же просто pos[0][0] +/-=n, pos[0] +/-=n. Но у тебя же вообще просто конвертируется цифробуквенная координата в индекс матрицы. Или ты хочешь проверить, разрешён ли такой ход?
>>836356 > Тебя миллион конвертаций в int не смущают? Это всё я буду фиксить после того как задание засчитается. > Нихуя не понятно, в чём там у тебя проблема-то? Попробовал сделать ход влево-вверх, но у меня проихошла хуйня (смотреть в верхнюю правую часть), поэтому нужно написать нормальную формулу > pos[0][0] +/-=n, pos[0] +/-=n А это сработает ? Это же относительно начала отсчета координат, а мне нужно относительно ферзя
>>836201 python-dev пакет накати, gcc не может хеадер найти >>836396 > вот я пишу код, он вроде работает, но я не понимаю, почему именно Лил, у нас так сервак на работе пашет, никто не понимает как, но умудряемся какие-то фичи добавлять даже >>836397 flask микрофреймворк, это как бы клей для приложения. А джанго навороченная тяжелая хуита. Если нужен минимум удобностей юзай лучше bottle
>>836414 >flask микрофреймворк, это как бы клей для приложения. Какой еще нахуй клей? Фласк by design сломан, приложения с ним превращаются в дрисню, где на каждый дрист нужно дергать глобальные переменные.
>>836417 Ну в подобных фреймворках своя атмосфера. Они by design заточены под однопоточное выполнение с uwsgi со своим окружением. То есть для uwsgi нудно плодить еще воркеров если понадобится. Хочется большей модульности - есть асинхронщина.
>>836600 хм. интересное ж задание. Есть первое N. смотришь, чему оно равно. Потом второе н2. Если н2 меньше н выполняешь каой-то код. Теперь я буду думать всё ночь. Спасибо, АНон!
Автор и Жанр нельзя удалить, пока к ним привязан хотя бы 1 книга. Куда запихать эту логику? Если в модель саму, то я знаю что есть метод delete(). мне нужно будет декоратор к нему писать?
сап зк. посоветуйте либу для работы с rest API как клиент. сейчас руками спрашиваю все с помощью requests, но неудобно. желательно чтобы можно было колбеки для процессинга ответа передавать.
Сап питонач, 16 лвл, недавно вкатился в python, накалякал программку для решения квадратных уравнений. Хочу услышать критику/советы по оформлению, чтоб было красиво, просто kiss, dry там всякие и не говнокодисто
>>836803 преобразование во float оберни в try-catch. вместо % используй .format. всегда выводи значения через format. если а=0, будет деление на ноль. проверь скрипт flake8
>>836824 format функциональнее, но если тебе удобнее и хватает % форматирования, то нет ничего плохого в том, чтобы использовать его. К слову, logging модуль до сих пор использует проценты.
Анон, помоги разобраться как работает super().__init__ Вот есть у меня класс Hand (у которого есть cards и number), делаю от него дочерний класс Player (c name и points). 1) как сделать, чтобы Player унаследовал первые два? 2) как сделать, чтобы Player унаследовал только cards, а number присвоил 0 3) как сделать, чтобы Player унаследовал только number (у Player будет только number, name & points) stackoverflow уже полчаса читаю, доков по суперу с __init__ не нашел
>>836845 1. вызываешь супер инит 2. п.1 + self.number = 0 3. самое просто это del self.cards 3a. можно сделать super().__init__(cards=None) и в Hand.__init__ проверять, если cards is None, не присваивать. Но скорее ты что-то не так проектируешь.
>>836878 Можешь именно код скинуть под все три случая? пожалуйста я даже не могу разобраться какие параметры куда прописывать
я представляю это типа: def __init__(self, что тут?) super(Hand, self).__init(хз что тут писать) self.points = points self.name = name del self.number
Вот эти два хз меня и смущают, нигде не нашел что за что отвечает. > Но скорее ты что-то не так проектируешь. там все кроме первого вопроса - для вообще понимания возможностей такого подхода
>>836895 > def __init__(self, что тут?) Какие аргументы класс принимает, те и пиши.
> super(Hand, self).__init(хз что тут писать) Тут наверное super(Player, self) ты хотел написать, можешь вообще просто super() использовать в 3 питоне. Что писать? То, чем хочешь инициализировать родительский класс.
>>836957 Сделай обёртку над __getattr__, хуле ты как калека? может и либа, конечно, есть, но идея реста, чтобы использовать хттп и следовательно либы для хттп. иначе бы сделали новый протокол без лишнего говна
>>836913 Т.е. : 1) в def __init__(self, name, number, points=10) я прописываю ВСЕ атрибуты, которые нужны новому классу? 2) а в super().__init__(number) - то, что берется из родительского? Но зачем тогда del self.cards? 3) > super().__init__() я правильно понимаю, что это просто запустит весь код init родителя, т.е. создаст self.number и self.cards или выполнит что-то еще (при наличии)? что тогда дает указание атрибутов типа super().__init__(number)?
Анон, часа два уже ковыряю код, не пойму в чем дело: при выполнении self.deck.deal(self.players, 1) выдает AttributeError: 'list' object has no attribute 'deck' хотя сам deck - объект с методом deal
В самом шелле вручную то же самое вбиваю - отлично все работает, карты сдаются, очки считаются и т.д.
>>837036 1. Да. 2. У cards есть значение по умолчанию (54), поэтому его не нужно было указывать. Когда ты вызываешь инит родительского класса, то он исполняется, в данном случае родитель присваивает объекту number и cards, но ты не хотел карты у игрока, поэтому и del self.cards. 3. Правильно. Указание аргументов необходимо потому, что родитель требует этого. Представь себе, что ты просто создаешь новый объект класса Hand. В данном примере, Hand требует от тебя указать number и по желанию cards при создании.
Блять как научитсья программировать :(((((( Сука дней всё меньше блять, а у меня никакого прогресса нет. Вот ща думаю, может учиться на готовом коде. То есть искать готовый код задач, разбирать этот код, добавлять в него свои комментарии. И по возможности искать похожие задачи, чтобы с полученными знаниями научитсья кодить
Наименьшее число m, такое, что m! делится без остатка на 10 — это m=5 (5! = 120). Аналогично, наименьшее число m, такое, что m! делится без остатка на 25 — это m=10. В общем случае, значение функции s(n) равно наименьшему числу m, такому что m! без остатка делится на n. Определим функцию S(M, N) = ∑s(n) для всех n ∈ [M, N]. К примеру, S(6, 10) = 3 + 7 + 4 + 6 + 5 = 25. Найдите S(600000000, 610000000).
>>837452 > ∑ Вот такую хуйню еще не проходил на математике То есть n - число, на которое должен разделиться факториал без остатка, а m - сам факториал ? >>837461 Более того, я лучший в классе и скорее всего лучший в городе среди 11 классов
>>837475 Ну да, это сигма то-есть сумма элементов в некотором диапазоне. Допустим ∑ x при x принадлежит от 1 до 10 значит просто сумма всех чисел от 1 до 10
>>837501 Нужно найти число минимальных факториалов которые разделятся без остатка , на каждый элемент от 600 000 000 до 610 000 000, (если такой факториал есть.
>>837502 То есть нужно найти факториал, которые без остатка делится на каждое число от 600 млн до 610 млн ? Сколько таких фактоиралов нужно найти ? Сколько можно, но ведь они будут очень долго считаться же ?
>>837506 В том-то и дело, нужно найти для каждого числа такой факториал (минимальный), который разделится на это число без остатка, при этом не указаны границы, я выставил не более 500, уже час считает лол. Для небольших цифр быстро находит, наверняка есть изящное решение.
>>837355 Элементарно жи: http://ideone.com/SJZ9dk max_saw_op — более примитивный и топорный вариант, который просто выбирает нужный начальный оператор (больше или меньше) и при каждом "верном" сравнении меняет его на другой. Скорее всего, не самым эффективным способом, зато в одну строку.
>>837510 >>837502 Не, нихуя не понял. Нужно найти факториал, которые делится без остатка на все эти числа или нужно найти ? Нужно найти несколько таких факториалов ? А что за магические символы в условии тогда ?
>>837540 Для каждого числа нужно найти факториал, который делится на него без остатка и потом все факториалы эти сложить и вывести сумму. Короче я хуй забил уже.
>>837452 >В общем случае, значение функции s(n) равно наименьшему числу m, такому что m! без остатка делится на n. Если я правильно понял задачу, то очень просто. Возьми напиши функцию, которая раскладывает факториал на множители (это очень быстрая операция для факториала). Далее разложи твой n на множители (уже не факториальное разложение) и найди первое m!, которое включает в себя n множители.
Это в первом приближении. Тут есть много вариантов оптимизации.
>>837452 Вот тебе еще одна мысль. Создай список с разложением факториалов на множители. Т.е. это будет список списков с числами. Каждый следующий факториал - это просто предыдущий с добавленными туда сомножетилями следующего m. Тебе понадобится либа для факторизации.
Далее, когда тебе нужно вычислить s(n), то ты делаешь следующие: 1. Факторизуешь n 2. Делаешь проход по списку и первый entry, который у тебя включает факторизированное n и будет нужное m Далее суммируешь эмы.
Опять же есть простор для оптимизации. Плюс тут нужно решить memory-speed tradeoff.
Вангую, что тут есть хитрое математическое решение, которое можно получить если знать предметную область.
Но ты всего вышеприведенного сделать не сможешь, т.к. ты тупой школьник, который даже опыта написания кода толком не имеет.
>>837861 Следует заметить, что для факториала достаточно взять максимальное число p m, где p простой множитель и m его степень в разложении, тогда все остальные множители будут уже включены. Или не совсем степень. Например 8, которое 2^3, для него факториалом будет 4, а не 6 = 2 3, из-за того, в 4! уже имеются все искомые 3 двойки, 2 и 4 = 2 * 2, то есть нужно искать это число, а не степень.
Но все равно это долго для больших чисел, C числами от 0 до 10м вычисляется за 10 минут на сpython, с числами от 570м до 580м около часа. Я не знаю, может быть если построить какое-нибудь дерево для чисел меньше некоторого N и не вычислять разложение для 570000000 + k каждый раз с нуля, то можно будет сократить время до 10 минут.
>>837885 > и первый entry, который у тебя включает факторизированное n и будет нужное m Индекс первого entry, конечно. Разумеется у список отсортирован по возрастающему.
Есть одно тестовое задание, нужно отсортировать числа/строки по возрастанию/убыванию по алгоритму сортировки вставками, но при этом нельзя использовать библиотечные функции сортировки, с числами я разобрался, а вот как сортировать строки по лексикографическому порядку я не знаю. Вот так я сконвертил слова в коды символов: https://ideone.com/hX3A15 а вот как отсортировать этот список и потом chr'нуть их обратно я не понимаю.
на работке дали фласкопроджект, ну думаю заебца, здесь часто расказывали какой фласк пиздатый открываю проджект - папка рандомных скриптов вперемешку с баш костылями, куча глобальных переменных, роуты в декораторах ну хуйня, думаю, лох какой-то писал, открываю фласковики по структуре проектов, и тут-то меня ждет кекус-максимус: > Here’s an example __init__.py: > > from flask import Flask > app = Flask(__name__) > > import yourapplication.views фласкодебилы, вы там совсем ебанулись?, кто в здравом уме будет советовать это говно?
>>837971 > >Сайты на flask хуёво делать, анон говорил что на нём хорошо api'шки делать. А можно более конкретно. Хочу вкатиться в это дело. Чем плох фласк и хорош? На чем лучше всего делать сайты?
Анон, какого черта питон складывает 10000 + 5000 + 5000 = 20000.0 схуя там .0 получается понимаю там с плавающей точной в js пиздец, но тут целые числа складываются. Мне что теперь при любой проверке на int число насильно в целое превращать?
Ебаный питон, как н меня достал. Корочи антуаны, я второй день пытаюсь поставить kivy.
питан 3,5
LINK : fatal error LNK1181: cannot open input file 'glew32.lib' error: command 'C:\\Program Files (x86)\\Microsoft Visual Studio 14.0\\VC\\ BIN\\x86_amd64\\link.exe' failed with exit status 1181
Ебаный рот, ну у меня же лежит glew32.lib в C:\Windows\System32
>>838071 http://pastebin.com/32i9Q51i там флоат еще в банкролле виден при создании он равен 0, изменяется кодом: for player in self.players: player.make_stake() self.bankroll += player.stake
В сети столько криков, о том что, за python2 надо по рукам бить, а python3 - красотища.
Только вот херня, попытался портировать свой микро веб-скрппер, хотел обойтись без lxml, потому как её надо ставить отдельно. В итоге - столько говна глотнул. На стековерфлоу хуй различишь о какой версии вопрос. Python2 ебёт мозги с utf8, python3 не имеет иструментов для веб парсинга. Нахуй так жить?
Что почитать, чтобы перестать соасть хуй? А может нахуй вообще этот ваш python?
>>838115 >хотел обойтись без lxml Нахуя? libxml в любом дистре легко ставится, я даже в слаке на память скажу, как эту либу установить. А биндинг под неё есть и на 3 питоне с момента релиза.
>>838126 >Он имеет много функционала, которым хакеры тебя похакают. Добавлю. На youtube видео посмотри по этому поводу. Очень распространенная ошибка использовать такой умный инструмент. Причем не только в питоне этим грешат, а еще и в java мире.
пывтаюсь сделать кнопку в КИВИ , но не просто так, а чтоб можной было к ней обращаться
Как из примера работает
class MainApp(GridLayout): ..def __init__(self, kwargs): ....super(MainApp, self).__init__(kwargs) ....self.add_widget(Button(text='Hello'))
Я хочу сделать как то так
class MainApp(GridLayout): ..myButton = Button()
..def __init__(self, kwargs): ....myButton.draw() но так не получается, дроу, это само собой псеводокод. Суть в том, что я не вижу методов прорисовать эту ебаную кнопку если она объявлена как поле класса
еслип писать self.add_widget(self.myButton)
оно истерит что нельзя присваивтаь виджет самому себе
Аноны, такой вопрос. Я хочу сделать логгер, который будет использоваться таким образом: Перед функцией ставится декоратор @logger(name="qwer", severity=2, color="yellow", out="qwer.log") def f(x, y, z...): body
Далее уже в самой функции, когда я хочу отправить сообщение в лог: dprint("message")
Вопрос тут в том, как из dprint узнать, какой в данный момент logger я должен использовать (имя, файл, цвет etc). Склоняюсь к варианту, что использовать интроспекцию и смотреть стек.
>>838213 > >Тогда осваивай брейнфак. Я видел, что что-то такое есть в фласке, но не копал, как это сделано. Если тут не помогут, то, конечно, посмотрю через некоторое время, но хотелось бы получить быстрый ответ.
>>838209 >какой в данный момент logger А может иметь один логгер и изменять его параметры? Просто декораторы они как бы не так работают же. тотальный говнокод - http://ideone.com/LSZQkE В декораторе должен быть не выбор логгера, а просто смена параметров одного единственного, тем более, что имея столько параметров, нужно клепать несколько десятков их.
>>838227 >А может иметь один логгер и изменять его параметры? Не, не годится. Вообще, ты должен бы понять, что это паттерн.
>В декораторе должен быть не выбор логгера, а просто смена параметров одного единственного, тем более, что имея столько параметров, нужно клепать несколько десятков их. Я допускаю, что в начале проги создаются несколько логгеров, а далее в декораторе можно указать логгер в качестве параметра. Далее dprint будет писать в него. Задача все таже.
>>838237 >Ну тогда вот примерно мой код и используй, навреное, если никто его не обоссыт. Интересная фишка с глобалом. Насколько я понимаю, global просто указывает, что надо искать переменную выше по стеку?
>>838239 >global просто указывает, что надо искать переменную выше по стеку? Нет, искать он и так будет доходя до глобала, при использовании (как словарь loggers), указание на global нужно, чтобы он не создавал локальную dprint на 14-ой строке. Если убрать global, он увидит в коде функции dprint = ... и станет ругаться на то, что "local variable 'dprint' referenced before assigned", на строке 13 (prev_dprint = dprint).
Просто тут тебе либо функцию dprint писать так, чтобы она перед логгированием сообщения проверяла какую-то переменную, которую твой декоратор изменяет, либо просто переопределять сам идентификатор 'dprint' как у меня сделано. Других вариантов лично я не вижу/не знаю.
>>838268 А если в стеке будет несколько global-переменных идущих следом, то как это будет работать? Спрашиваю вообще, а не в случае с логгером. И спасибо за примемчик.
>>838287 >Скинь видос, не гуглится. К сожалению не записал адрес. Видос у меня есть, но он на другом винте. Помню, что это было видео с какой-то конференции по питону. Еще помню, что автор там из Новой Зеландии.
>>838271 >А если в стеке будет несколько global-переменных идущих следом, В смысле несколько? Не может быть несколько глобальных с одним именем же. Он остановится на первой найденной — http://ideone.com/Psb2zT
Или ты имеешь в виду просто код "global a, b, c, d"?
Находит то что нужно, но что-то на ответ это не похоже. Пробовал и с условием, что первые три - одинаковые, тоже не подходит Да, там 7 and в одном условии, но я не знаю как это сделать элегантней Есть варианты? Если не трудно: 1) как можно такое условие короче сделать? Т.е. сразу сравнить три первых элемента. x[1,2,3].isupper() - не подходит, этож новый лист получится 2) в питоне можно один аргумент сразу на 2+ условий проверить, например: if a > 0 and < 3 ?
>>838486 Вообще - загадки. Можешь начать с главной - там все написано. Суть: на странице есть загадка, чтобы ее отгадать - нужно что-то сделать, применяя навыки программирования (необязательно на питоне). Ответ вставляешь в адресную строку, если правильный - попадаешь на след задание. В предыдущем задании в исходном коде страницы был кусок текста (мешанина из символов), из которого нужно было сделать осознанный текст, убрав все кроме букв.
>>838447 >1. all([x.isupper() for x in y]) >x[1,2,3].isupper() - не подходит, этож новый лист получится x[1,2,3] это вообще что должно быть? >2 if 0 < a < 3. Внутренне питон это сам раскрывает до if 0 < a and a < 3.
>>838508 > all([x.isupper() for x in y]) а в [x.isupper() for x in y] жирным что такое? Задача(насколько я понял): нужно найти прописные буквы, которые окружены тремя СТРОЧНЫМИ блдж, может там нужно не больше трех? щас попробую Т.е. я хочу проверить первую буквы и сразу 2 ее соседа на строчность > x[1,2,3] это вообще что должно быть? 1,2,3 - элементы х > if 0 < a < 3 неудачный пример выбрал, можно ли проверить a > 0 и a! = 3?
>>838533 > блдж, может там нужно не больше трех? помогло, но > if letter.isupper() and file[(idx+1)].isupper() and file[(idx+2)].isupper() and file[(idx+4)].isupper() and file[(idx+5)].isupper() and file[(idx+6)].isupper() and file[(idx+3)].islower() and file[(idx-1)].islower() and file[(idx+7)].islower() кажется костылем каким-то
>>838533 >а в [x.isupper() for x in y] жирным что такое? for i in range(10) знаешь что такое? То же самое. [x for x in range(5)] == [0, 1, 2, 3, 4]
>нужно найти прописные буквы, которые окружены тремя СТРОЧНЫМИ Да. Там их несколько таких последовательностей, в итоге слово составляется.
>Т.е. я хочу проверить первую буквы и сразу 2 ее соседа на строчность isupper() применяется к элементу. Как применить его к нескольким элементам сразу я уже показал.
>можно ли проверить a > 0 и a! = 3? Ээ, if a > 0 and a != 3?
Спойлер решения двумя нечитаемыми однострочниками (list comprehension'ы и regex): https://repl.it/DY97
>>838573 Спасибо, завтра попробую разобраться что там у тебя я в питоне вообще 3ю неделю, о bitstr, all и тд только сегодня услышал >>838583 да, я чот заглавные строчными называл
Прошлый: