Анон, вместо того, чтобы без разметки постить код, лучше шарь его через специальные ресурсы: https://ideone.com/ - возможность постить листинги кода и онлайн-запуска, не требует регистрации https://dumpz.org/ - можно постить листинги, не требует регистрации https://pastebin.com/ - для листингов, регистрация не обязательна https://www.codepile.net/ - можно расшарить код в том числе на редактирование, особая полезная опция - чат при каждом листинге, где можно код обсудить https://pyfiddle.io/ - запуск python кода онлайн, но чтобы шарить, надо регистрироваться
Вопросы-ответы: — А стоит ли читать Лутца, том номер N? Мнения в треде разделены. Кто-то за (очень неплохая база даётся), кто-то против (слишком много воды и объём книг убивает всё рвение). В общем — решать тебе, книга вредна не будет, но ты можешь её просто не дочитать и забросить.
— Стоит ли читать %книга_нейм%, если там питон версии 2.х? Нет, не стоит. 100% есть более актуальная книга, для пистона 3.х
— А что ещё можно читать? Питон сам по себе очень хорошо задокументирован и для уровня начинающих, и для продвинутого. Смотри официальную документацию. Можно начать вот с этого https://docs.python.org/3/tutorial/introduction.html
— Что можно почитать/посмотреть по многопоточности/параллелизации в питоне, да и вообще в целом? Очень годный ролик на американском языке про многопоточность и асинхронность https://www.youtube.com/watch?v=MCs5OvhV9S4
— А как учить джангу? Нахожу только книги по джанге 1.х У джанги отличные доки (одни из лучших для пистоновских либ, имхо), почитай их для начала. Книгу по джанге можно читать и для версий <2, это не проблема, т.к. принципы остаются теми же. Для переката на 2.х хватит changelog`a или тех же самых доков/статей. Начни изучать с разбора учебного приложения с голосовалкой из официальной документации.
— В ньюфаг-треде написано, что нужно начинать с SICP, чтобы научиться программировать Вот, пожалуйста, та же самая программа, но переработанная под язык Python: http://composingprograms.com/ (нужно знать ангельский или уметь пользоваться переводчиком)
— Как можно без лишней возни ускорить программу на питоне 1) проверь сначала свой код, алгоритмы и структуры данных. Чаще проблема здесь. 2) код можно иногда феерично ускорить, используя JIT (Just-in-Time) компиляцию. Почитай обязательно про модуль numba, он ставится через pip, и альтернативный интерпретатор PyPy.
— Дайте нормальные книжки на русском! Мы, блядь, не в пиндосии живём Брат, смотри книжки по ссылкам в шапке, там есть и русские. Но помни, без языка ангелов твоя жизнь проходит мимо и ты обречён быть на обочине знаний и технологий.
ps: анон, если ты вносишь изменения в шапку, оставляй ссылку на код с обновлённым исходником. исхдник: https://dumpz.org/bASGKD8cCFDf
Аноны, скажите кто шарит в вебе как работают чаты, например, в вк, там ведь используется полинг, что его делает, js? и потом он же и рисует новые сообщения или как
Антоны, вопрос из предыдущего треда, извиняюсь за его ньюфажность, вот поставил я питон и пайчарм. Создаю виртуальную среду под проект, там загружаю библиотеки. А что делает pip? Он устанавливает на питон, который в самое винде? Получается им лучше не пользоваться если надо загрузить библиотеку? Ни кидайте говном, я совсем нюфаг
>>1843973 у тебя в командной строке должно быть название твоего виртуального окружения. если нет, значит ты на системном питоне сидишь. пип устанавливает туда, откуда ты его запустил.
>>1843932 >>1844015 Собственно сейчас остался только один вариант, через JS. Раньше были какие-то другие извращения с флешем, JavaApplet, некоторые извращения на http уровне с модифицированным протоколом, но последнее уже совсем-совсем старое.
JS опрашивает сервер раз в N секунд (это совсем дубово для чата), или через long polling, или через вебсокет, получает данные в виде json пакета и перерисовывает страницу.
Больше вопросов с тем, как на сервере всё это хозяйство поддержать, тут нюансы разных фреймворков и разной инфраструктуры, не всё легко дружит с long polling и вебсокетами.
От кодворза все таки есть польза, узнал о enumerate и abs. Хотя решил совсем под другому. ПРостая ката без этих заняла хуй знает сколько времени, зато решил сам
>>1844181 >От кодворза все таки есть польза, узнал о enumerate и abs. Ну вообще, об этих штуках пишут в любых непорашных книгах для начинающих мимо осилил первый том Лутца
Короче, есть текст разбитый на пронумерованные пункты и подпункты вида: '1. hui 1.pu 2.tin 3.su te 2. pizda 1.hi 2.ut re mi 3.ses 3.ziopa 1.fhu jih 2.vguhb 3.drt bjikj...' и таких пунктов всего 64
Суть в том, что текст разделен на нумерованные пункты, в каждом из которых одинаковое количество подпунктов. Мне нужно распарсить текст и засунуть текст в массив, где весь текст будет древовидно разделен в подмассивы, которые будут содержать эти подпункты хотя бы в таком виде:
[['1. hui', '1.pu', '2.tin', '3.su te'], ['2. pizda', '1.hi', '2.ut re mi', '3.ses']...] и т.д.
Вроде что-то мне подсказывает, что эта задача должна легко решаться, но что-то не могу додуматься как. Пробовал даже изучать регулярки, но по-моему не в этом дело
Требуется крайне разбирающийся программист, узнал что в церковнославянском языке есть цифры, захотел сделать переводчик цифр на церковнославянский, но очевидно церковнославянских букв нет в кодировках, а кодировки бывают разные, отсюда вопрос возник, если я найду условно кодировку в которой будут буквы нужные и сделаю, например, вебсервис, то 1. Будут ли у других правильно отображаться буквы 2. Как сделать так, чтобы у всех все отображалось 3. Как в вебе передается кодировка текста, вместе с html 4. Что гуглить, чтобы найти ответы по поводу кодировок
>>1844309 Пока искал нашел работу 30-ти страницную где описывеется шрифт пантелей и проблемы, которые вознили при его создании, но оказалось, что в стандартном юникоде есть вроде все символы для того, чтобы реализовать мою идею, осталось понять как юникод вообще отображать, ибо знаю только что если не utf-8 или cp1251 то на выходе выходит хуйня а не текст и как програмно добавлять спецсимволы типа ударения и титло, если кто может подсказать, то пишите
>>1844281 вопрос закрывается, потому что такой конвертер уже существует, я вообще не представляю как придумать что-то такое чего еще нет, но на реализацию чего не понадобится целая команда
>>1844421 Ну для себя просто, разве интересно делать что-то ради интереса, если в 10 секундах поиска можно скопировать, тем более более хороший код(я не что-то общее, свою ос писать глупо, но конвертер церковнославянский чисел почему бы и нет)
Пытаюсь получить данные о яндекс пробках, нагуглил какой-то парсер, подставил свои значения На выходе получаю только слово Пробки Хотя по идее должен получить Пробки 2 балла
>>1844720 Ничего не скрыто, просто изначально его по тому адресу нет, оно подгружается позже и добавляется динамически, по ф12 ты видишь уже финальный результат.
двач, у меня есть массив координат точек, и я хочу нанести их на изображение пытался сделать через матрицу в numpy, ничего не вышло, подскажите, пожалуйста, как реализовать достаточно черно-белого изображения
Есть что-нибудь по технологии и культуре программирования? Книги, там, курсы. Чтобы описывались технические всякие мелочи, как кто работает: вот я выбрал такой IDE, проект разбиваю на папки так, тут у меня докер, на гите акк, постоянно апдейты делаю, requirements.txt делаю тем и тем, здесь у меня тесты, там у меня тестовый код вертится, в прод я посылаю код так и так, общаемся с другими коллегами через то-то и то-то, таски, хуяски, вот это всё. Так сказать,технология, культура и дисциплина.
>>1845131 >>1845142 Обычно делается норкоманская соснольная хуйня, на которую потом уже навешиваются сторонние ИДЕ. Такое есть почти у любой скриптоты.
Я вообще не понимаю зачем тебе в этом разбираться. Я три года пишу код на питоне и ни разу (до этого момента) не задавался вопросом как работает дебаггер - это просто не нужно.
>>1845163 потому что ты слесарь по компьютерам, а не Программист. Разумеется, блядь, нужно понимать как он работает чтобы хотя бы уметь в проде запускать отладчик.
>>1845165 Лучший способ дебагать на проде, это вести мониторинг и логи, желательно в специальных менеджерах, типа sentry, где тебе и весь трейсбек, стек вызовов и содержание переменных будет Ты точки остановки не расставишь сам, а копаться в вызвовах тысячи пользователей в секунду себе дороже.
Сколько обычно уходит на изучение языка программирования с полного нуля? Если я учу чуть больше месяца, и до сих пор могу выполнять только простецкие задачки типа пикрила это нормально, или у меня что-то медленно идёт?
>>1845238 Для этой задчки достаточно словарей и инпута, ну и какой-то жсон или пикл приляпать для сохранения. Это первые несколько глав нубской книжки. Маловато за месяц.
Всё ещё зависит от бэкграунда, насколько у тебя в инженерном и алгоритмическом стиле мозги работают. Всё-таки с "полного нуля" сейчас, наверное, не бывает.
Ещё надо смотреть на то, что из себя представляет код и алгоритмы в твоих решениях.
Но в любом случае, месяц это мало. Для программирования надо перестроить мозги, чтобы они как у программиста работали, а это реально годы.
За год программистами не становятся. Про сроки вроде месяца-трёх я вообще молчу. Хотя на питоне и намного легче учиться, чем на индустриальных C/C++/Java, с чего многие раньше начинали.
>>1845248 >Хотя на питоне и намного легче учиться, чем на индустриальных C/C++/Java, с чего многие раньше начинали. По-моему легче всего учиться на джаве. Питон сложнее из-за динамической типизации и вседозволенности в целом.
>>1845259 Да ну, там тулчейн этот пиздецовый, однозначная необходимость среды, гигабайты бойлерплейта. По-моему, самый злоебучий из мейнстримных как раз.
>>1845260 Ты выдумал какие-то несуществующие проблемы. Вкатывальщику нужен максимально четкий и понятный язык, и джава для этого прекрасно подходит. Да, она более многословная и есть необходимость писать бойлерплейт, но питон с его динамической типизацией еще хуже.
Джава может и нормальный язык, но это индустриальный язык, который предполагает хорошую инженерную подготовку и понимание самого предмета программирования.
А проблема вкатывальщиков именно в том, что такой подготовки у них обычно нет.
Для человека, который не программировал вообще, просто интуитивно не понятны даже такие понятия, как "функция", а ему надо продираться через магию всяких public static void и прочей хрени.
Я кстати думаю, что на каком-то среднем уровне уже полноценный строгий язык полезен в каком-то объёме. Чтобы лучше понять как данные устроены, все эти массивы, байты, ссылки и т.п.
Опять же, чёткое ощущение, что если на питоне человек может самостоятельно довольно быстро научиться что-то писать, то на Java/C/C++ без шансов совсем.
>>1845266 >Для человека, который не программировал вообще, просто интуитивно не понятны даже такие понятия, как "функция", а ему надо продираться через магию всяких public static void и прочей хрени. В питоне аналогичный if __name__ == "__main__".
Вдобавок, у питона намного больше своих нюансов, только они скрытые. Вот попытается вкатывальщик присоединить к строке число, и получит ошибку. Причем ошибка вылезет в рантайме, в то время как в джаве такая ситуация в принципе невозможна. Подсказок от IDE в большинстве случаев не будет, а от питоновских type hints голову вкатывальщик сломает еще сильнее, чем от обозначения типов в джаве. В прошлом треде был один с похожими вопросами. Это список можно продолжать бесконечно: вложенные функции (попробуй запомни, какая переменная откуда), kwargs, list comprehension, генераторами с корутинами и прочее. ООП в питоне тоже сложнее чем в джаве, чего стоит одни только self и cls. >Я кстати думаю, что на каком-то среднем уровне уже полноценный строгий язык полезен в каком-то объёме. Чтобы лучше понять как данные устроены, все эти массивы, байты, ссылки и т.п. Ты путаешь джаву с си или крестами. В джаве нет указателей и можно не использовать простые массивы. Основная разница в отсутствии синтаксического сахара и строгой типизации, которая на начальных этапах только поможет.
Лично я начинал изучать питон имея несколько лет опыта и неплохо зная три языка со статической типизацией. Несмотря на это, вкатываться в питон было очень больно. Ни на одном языке я не ловил такое большое количество рантайм ошибок как на питоне. Чтобы научиться более-менее уверенно на нем писать у меня ушло в несколько раз больше времени, чем на то, чтобы с абсолютного нуля вкатиться в джаву и устроиться на первую работу.
В конце концов в питон я вкатился, и теперь его знаю даже лучше чем все остальные языки вместе взятые, но начинать с него все равно не рекомендую. Чтобы научиться нормально программировать на питоне придется выучить все то же самое, что и для джавы, только помимо этого добавится необходимость держать многие вещи в голове, плюс освоить питоновский синтаксический сахар. Для некоторых вещей так же понадобится знание функционального программирования.
Производительность на питоне это вообще отдельный разговор - чтобы выжать из питона и некоторых библиотек максимум, нужно понимать как он работает с точки зрения си, на котором он написан.
>>1845261 >питон с его динамической типизацией Динамическая типизации это большое благо. Зло нестрогая типизация.
В питоне достаточно строгая динамическая типизация. Нет неочевидного поведения, в отличии от JS, например.
В питоне ты не сможет сделать '2' + 2, вылетит ошибка. Очевидна разница между строкой и числом. Вот то, как сделано в JS, это ад, потому что там подковёрные преобразования из типа в тип. Очень неочевидное поведение, трудно прогнозируемое.
Кстати Си этим тоже грешит, с кучей его неявных преобразований, при этом статическая типизация, в общем такой адский микс, тот ещё язык. Плюсы в этом плане сделали намного строже, может избыточно строго даже.
>>1845275 >Динамическая типизации это большое благо. Зло нестрогая типизация. Что то хуйня, что то хуйня. Со строгой строгой будешь ловить ошибки в рантайме, с нестрогой - неочевидное поведение. В обоих случаях нужно хорошо знать как язык, так и программирование в целом, чтобы избежать ошибок.
С точки зрения простоты самая лучшая типизация - статическая строгая, как в джаве. Только взамен энжой ер бойлерплейт и десять строк кода заместо одной в питоне.
>>1845276 >статическая строгая, как в джаве. Смотря что писать.
Я начинал с Си, потом были ООП плюсы, PHP с номинальным JS (и это с коммерческим опытом). Потом для себя изучил Питон, и вот реально очень понравился, потом был питон по работе (2.6, хотя изучал третий, вот это боль после третьего), ассембер, и Си в одном флаконе, потом уже нода, сейчас больше питон-asyncio и нода меньше.
Джаву смотрел совсем-совсем чуть-чуть, уже умея ООП на плюсах.
Вот совсем не понравилась джава даже с таким опытом. Там красивая модель ООП, но и всё. В остальном жутко перегруженный язык, жуткой тяжёлый. Хуже только современный STL-C++.
А питон как раз понравился больше всего.
С типизацией - тут смотря что делать. Когда у тебя сетевой софт, обрабатывающий xml, json и левые протоколы через обычные сокеты одновременно, со сложной логикой поведения, накопления-сброса данных, то я просто не представляю, как ты будешь это делать на джаве.
У тебя пакеты приходят, и какого-то строго формата нет. Там структурные данные, но строгого формата нет в плане атрибутов, дочерних элементов и т.п. А в компилируемых языках данные надо сразу как-то описывать в виде классов,а реально это невозможно. Вот там и какие-то жуткие костыли везде вокруг этого.
Плохо дружит джава и с async-await моделью. А она реально крута и удобна. Сколько представляю, там принято тредами и мютексами в основном обходиться и какая-то лапша из-за этого (в питоне принят подход очередей, более современный). Правда лучше всего тут Go, но там всё остальное ужасно, даже лезть в него не хочется.
ps: при этом asyncio в питоне это печаль, кривовато, медленно, с чудовищным количеством граблей и подводных камней, и походу они уже и не собираются это исправлять, хотя очевидная потребность есть. Но по сумме даже на asyncio питон приятнее всего.
Есть база данных игроков с их кол-вом очков в разных матчах Следующая игра будет против команды плохо уровня, соответственно, я считаю что игрок должен на дистанции выступить на 10% лучше. Т.е если средний показатель у него - 11 очков, то против этой команды он в среднем будет набирать 12.1 Ещё я могу посчитать дисперсию на основе его очков в предыдущих матчах. Как мне имея ожидание и дисперсию получить вероятности набора 11 или, например, 12ти очков. Мб какие-то распределения? Подскажите, куда копать?
>>1843911 (OP) Анон, подскажи книгу на русском новичку для изучения языка. Книг много, не знаю какую выбрать. Нужно что-то актуальное и лёгкое в изучение на данный момент.
>>1845397 Надеюсь не на локальный ip ты пытаешься зайти?
Ты поднимаешь сервис? Если да, то какой адрес указываешь, на котором работать? Надо 0.0.0.0 выставлять, по умолчанию часто поднимается на локалхосте, 127.0.0.1, такой сервис будет доступен только с локальной машины. Если укажешь локальный адрес, вроде 10.67.11.22, то будет доступен только из локальной сети.
>>1845368 >И\или видеокурс. >Для быстрого вката стажёром за еду. Нет таких. Программирование не та область, где можно чего-то внимательно почитать или посмотреть, и после этого уже работать.
>>1845474 не, не на локальный) все пытаюсь спарсить страничку инстаграм. с удаленного сервера выкидывает на страничку авторизации, а с локального все норм. заипалсо думать.
>>1845476 Делаешь скриншот экрана/окна/нужной точки, получаешь лист пикселей, нужный тебе пиксель находится по указанной координате (высота+ширина), получаешь пиксель по координате через PIL или qt.
>>1845476 Какого окна? Если для шиндовс, то там дохуя есть функций в винапи для поисков окон, просмотров пикселей и прочих дел. И модули для его использования.
>>1845483 У инстаграма такая политика борьбы с ботами. Они там меняют периодически что-то, впрочем. Контрольный тест, сейчас проверил, захожу в приват-режиме на чью-то страницу, то есть без авторизации, показывает нормально. Если пытаюсь зайти через свой личный прокси (моя vps, никем больше адрес не используется), то перекидывает на авторизацию, причём просит подтверждение по СМС. Захожу, работает, закрываю окно, открываю опять, всё тоже самое, опять просит авторизоваться, если через прокси.
Я так понимаю, что смысл в том, что у них держатся базы ip адресов. Есть пользовательские сети, из которых провайдеры пользователям дают адреса, им они доверяют и разрешают работать без авторизации. А есть сети, которые принадлежат разным хостинг-провайдерам, они им не доверят, поскольку через них ботов гоняют, и поэтому делают разные авторизации.
Вряд ли можно обойти так просто. Вообще они борются с ботами, вкладывают в это много сил и ресурсов.
Бота для одного аккаунта может быть ещё и можно сделать. Но в сущности его можно пускать и с домашнего компьютера.
>>1845523 Последний тренд это residental proxy - компании предлагают бесплатные впн, лохи подписываются и через них гонят левый трафик, продавая его ботоводам за сотни денег.
двач, у меня есть множество точек на плоскости(их очень много), и мне нужно определить что за фигуру они образуют(одна из трех: правильный треугольник, круг, квадрат). Какой есть алгоритм для этого?
Может кто объяснить в чём суть ":str) -> set:" ? Читаю Бэрри, за 2 дня дошёл до 200-й страницы и тут впал в ступор. В книге чёткого ответа я так для себя и не нашёл. То, что я взял в кавычки - это аннотация, верно? Для чего она?
>>1845819 Да, значит, что ожидается строка, возвращается сет. Сам питон это не использует, оно для всяких линтеров и ИДЕ. >>1845820 Они в разных неймспейсах, глобальная переменная глобальна только для своего модуля.
>>1845820 разные области видимости. Функция ищет переменную main в своей локальной,потом в глобальной своего модуля, потом в обжекте. А в твой модуль она никогда не заглянет анон.
>>1843911 (OP) А что с работой? Вот выучил я основы питхуна и куда дальше идти? Куда грамотнее будет вкатиться мимокрокодилу без ВО чтобы начать зарабатывать? Веб? Анализ данных? МЛ?
>>1845946 >Куда после основ сворачивать? Для начала практиковать и доучивать питон пока не освоишь его на нормальном уровне. Потом иди в веб. В МЛ/ДС слишком высокая конкуренция, а зарплата не выше чем в вебе. >>1845950 >Как что-то важное Если у тебя нормальные навыки и десяток пет-проектов в резюме, то может быть и не важное. А так в большом количестве случаев твое резюме полетит в мусорку только из-за одного факта отсутствия ВО. В остальных случаях шанс есть, но при прочих равных все равно выберут того, у кого есть ВО.
>>1845953 Это все нужно учить параллельно. Сначала основы HTML/CSS, потом основы джанги. С этого момента уже можно начинать делать простой вебсайт и доучивать и то, и другое. JS и тем более фреймворки вроде реакта на начальных этапах не нужны - к ним приступай только после того как более-менее освоишь джангу и верстку на HTML/CSS.
>>1846078 Алсо на счет работы, мне приглашение дали пройти тестовое, там нужно делать асинхронные вызовы celary, использовать rabbitmq, redis, postgresql, django, кароче половину я пока не использовал, в вакансии написано опыт от 3-х лет, скажите если я реализую тестовое(дашборд с функциями и их графиками), то меня примут на работу без опыта работы релевантного?
>>1846082 Вряд-ли, всё-таки человек без опыта и человек с 3+ годами - охуеть какая большая разница. Но тестовое делай и на гитхаб лей - безусловный плюс тебе будет.
>>1846373 в веб-версию не загрузишь много строк, да и на том уровне, который они требуют, лучше pandas какой-нибудь использовать наверное. кмс по excel.
Аноны, помогите, есть тестовое задание Пусть написанный выше скрипт называется 'path/to/file/script.py' и функция называется exec Написать скрипт, который динамически вызовет данную функцию зная только строковый путь. (т.е. нельзя from path.* import exec)
Что значит вызвать динамически, что имеется ввиду, от меня хотят, чтобы я файл script.py загрузил как строку и выполнил? Или какой-то другой способ вызова функции или запихнуть ее в переменные или через os path нужно зайти по пути данному и запустить скрипт, не понимаю, помогите, хочу сразу правильно прислать ответ
>>1846357 >А что, анализ данных без экселя никак? Если хорошо знаешь питон и нужные библиотеки, то необязательно. Просто аналитик данных - это довольно общая вакансия. Аналитики зачастую вообще не умеют программировать.
>>1846492 он для даунов хорошо разжевывает. Мне больше с книг доходит, чем с лекций. Ты уже тему понял и сидишь минут 20 скучаешь, пока он следующий этап начнет рассказывать.
Собираюсь начать читать. В планах по 100 страниц в день (по ~10 часов в день собираюсь уделать книге). Прочёл уже 'A Byte of Python' и 'Head First Python'
Так вот: наткнулся на то комментарии по поводу книги, что перевод 5-го издания полон ошибок и неточностей, а вот с 4-м изданием, говорят, всё хорошо, но 4-е издание, говорят, морально устарело.
Так какое же издание выбрать для обучения? У кого-нибудь был опыт ознакомления с 5-м или 4-м изданием? Так ли всё плохо с актуальной информацией в 4-м издании?
>>1846707 читал 5ое. оно тоже морально устаревшее,хоть оно и вышло во время пистона 3.7. 1\4 книги, это в чем разница пистон2 и пистон 3 Некоторое вещи дотошно понятны, некоторые наоборот. Книгу можно рассматривать в комплексе с другим материалом. Сам по себе больше справочник, чем что-то практичное.
>>1846707 >В планах по 100 страниц в день (по ~10 часов в день собираюсь уделать книге). Профанация. В этом нет никакого смысла, нельзя читать книги по науке и технологиям в таком темпе, это не Война и мир. Чисто для галочки, в мозгах ничего не останется.
Посоветуйте какое можно создать веб приложение на питоне. Узнал о стримлите, вроде неплохо выглядит. Хочу чем-то набить гит. И такой еще вопрос. Вот какое должно быть веб приложение чтобы работодатель потек. Помимо сайтов.
>>1846613 о! прикольный сайт. спасибо за наводку. гуру питона, оцените говнокод, пожалуйста. что так? что не так по первой задаче?
For example, if we run 9119 through the function, 811181 will come out, because 92 is 81 and 12 is 1. Note: The function accepts an integer and returns an integer
def square_digits(num): squares = [str(num) for i in range(len(str(num)))] result = list(map(lambda x: int(x) 2, squares)) result = ''.join(map(str, result)) return int(result)
>>1846872 > >def square_digits(num): >squares = [str(num) for i in range(len(str(num)))] >result = list(map(lambda x: int(x) 2, squares)) >result = ''.join(map(str, result)) >return int(result) Тут какие-то знаки потерялись и поэтому всё не работает. Рабочий код на пикрил.
>>1846910 У тебя первое же выражение какое-то месиво: squares = [str(num) for i in range(len(str(num)))] можно заменить на str(num), потому как строку тоже можно итерировать. А вообще, зачем тебе трижды разбирать/собирать список. Может лучше просто циклом пройтись один раз и собрать строку, не?
>>1846913 >>1846930 Это не ко мне вопрос, а к >>1846872 Ну, я так понимаю, задача была постигнуть азы функционального программирования, поэтому столько преобразований.
>>1846707 >по ~10 часов в день собираюсь уделать книге Не выдержишь, нужно делать перерывы для переваривания информации + эффективность восприятия сильно снижается в зависимости от времени
>>1846960 Если ты не будешь прописывать self в присваивании переменных, то это будут локальные переменные для данной функции, они не будут хранится в стейте объекта и ты не сможешь вызвать их из другого метода или получить доступ.
>>1843911 (OP) Кто шарит в sqlalchemy? У меня список с кортежами данных, как мне массово обновить строки в таблице, основываясь на нем? update действует для одной строчки
>>1843911 (OP) Привет. Пытался гуглить, но выдаёт не то, что нужно.
Как измерить время выполнения текущей итерации цикла и скипнуть её, если преодолён таймаут?
Пилю сейчас скрипт, где wget выкачивает файлы, и он постоянно обрывается: то закачка файла на середине встанет, то не приходит ответ на хттп-реквест и т.д.
>>1847226 И как тебе это поможет? У вгета есть статус как у любой никсовой утилиты - 0 если всё ок или код ошибки. Пихаешь его в while и повторяешь, пока не ноль. Ну или несколько попыток.
>>1847250 >Запускаешь комманду, она отрабтаывает Так в том и проблема, что есть список из N ссылок на файлы, и на M-ом файле команда не отрабатывается(по множеству причин).
Я правда сейчас понял, что измерять время выполнения не подходит, так как долгой итерация может быть и просто из-за того, что скачиваемый файл тяжелый.
>>1847269 В питоне нет переменных, есть объекты, хранимые в памяти. Имена a, b, c являются ссылками на объекты. Целостные объекты нельзя раздробить и удалить из них часть. Но можно из списков удалить какой-то объект. То, что ты написал list(str(a)) не сделало "а" списком, тебе нужно этот новый объект сохранить под каким-то именем: c=list(a) str(a) делать не нужно, так как input и так воспринимает всё как строку.
>>1846780 Бамп вопросу. Какое веб приложение сделать чтобы можно было забить гит? Или магаза или борды хватит вполне? Хочу заюзать фласк, он кажется как-то проще.
поясните за функцию select. Как она понимает, что сокет готов? вот стучит она в первый список и вызывает fileno(), получает дескриптор. И что с ним дальше? Что ей это дескриптор дает? Буферы сканирует?
>AttributeError: 'HTMLParser' object has no attribute 'unescape' Вот такая ошибка появляется на 3.9 при создании виртуалки в ПайЧарм. Кто сталкивался? Поныкался по форумам чето там вроде сказали что объекта HTMLParser теперь нету и нужно обновить setuptools до последней версии. Обновил - нихуя не момогло.
>>1847506 В чем проблема откатить версию интерпретатора? Это ведь самое простое решение: ты что-то поменял и всё сломалось? ПОменяй обратно. Я всегда недоумевал с людей, которые обновляют ПО, которое выполняет все необходимые функции. Ты хоть знаешь, что нового в 3.9 пистоне? Бьюсь об заклад, что нет. А если и знаешь, то вряд ли эти фичи так критичны для твоей разработки.
>>1847523 Ваистину рашкинские форумы ахуенны. Спрашиваешь как что-то сделать, тебе говорят почему ты тупой и что этого делать не надо. Ты действительно думаешь, что я не могу откатиться?
>>1847529 https://tw511.com/a/01/19838.html Там на японском, но гугл нормально переводит Если коротко - то пока проблему никак решить, создавать виртуалку напрямую, а потом pс использовать. >Ваистину рашкинские форумы ахуенны это исключительно здешние быдланы, просто.
>>1847612 Я не прочь, только удаленно, опыт есть, знания тоже, поработаю чисто за еду, чисто символически, онли за опыт и чтобы получить знания в таких проектах. Готов на любую черную работу в смысле даже просто набирать код что угодно.
У меня есть словарь. Я хочу сделать функцию, которая при вызове будет добавлять элементы в словарь, спрашивая перед этим эти самые элементы у пользователя. Как это сделать?
>>1847941 Не, то, как добавлять элементы в словарь, я знаю. Вопрос-то в том, как завернуть это говно в функцию и заставить её принимать пользовательские значения...
Аноны, у меня есть таблицы в postgresql: purchases items, соответсвенно покупак на один итем может быть много, у items есть колонка price, как мне посчитать процент от продаж, который занимает один итем, в одном запросе не получается выбрать сумму для всех итемов и сумму для всех покупок одного итема, пробовал over() но там нельзя использовать where который мне нужен, пробовал with использовать, чтобы запомнить сумму, но тоже ошибка вываливается, вот пример запроса, который должен быть
select items.id, items.price, count(purchases.item_id), sum(items.price), /Тут должны быть проценты/ from purchases inner join items on items.id = purchases.item_id where date BETWEEN '20190101' and '20200101' group by items.id order by sum(-items.price) limit 10;
Посоветуйте антоши. Вот я выучил питон. Уже даже начал кодить на кодварзе, вроде как получается. Но нет удовлетоварения. Я чувствую что время проходит впустую. Да, я уже могу и в функции и в классы. Работу так и не нашел и нету своих проектов. Что делать? Продолжать сидеть на кодворзе и решать задачи про яблоки или уже что-то начать? Если так то что все таки сделать? Сайт? НО таких проектов в портфолио дохуя у других. Что делать чтобы работодатель обратил на меня внимания? Чувствую что кроме питоне ничего не потяну и не хватит моральных и физических сил. Что посоветуете делать?
>>1848313 Я сегодня писал парсер для гугл ньюс по заголовкам и потом делал ворд клауд, для тестового задания, сделай такой же, я дико кайфанул с результата(заголовки по запросу russia). А вроде если как программист хочешь дальше идти, то смотри линукс и серверы(сисадмин), базы данных(data engineer), веб(backend), ml(ds)
>>1848406 Ладно, офаю пока. На iOS клиенте какие-то проблемы, почему-то в чат при нажатии кнопки пользователем отправляется не dice а просто эмодзи. Странные дела. На дсктоп и андроид клиенте все работает исправно.
Привет, решил делать курсовую роботу на питоне, в задумке сделать маленькую игру. С помощью чего посоветуете сделать? Лично мой выбор пал между двумя библиотеками: pygame и eel, библиотека, с помощью которой можно делать веб интерфейс в приложении. Больше всего меня волнует вопрос анимации спрайтов, предпочел бы использовать скелетную систему вместо покадровой прорисовки анимации. Что мне в таком случае делать? Или, может не глупить и пробовать пытаться в юнити на шарпах?
>>1848597 >Или, может не глупить и пробовать пытаться в юнити на шарпах? А ты умеешь хоть немного юнити или шарп хотя бы?
Питон не про графику, а больше про обработку сложных данных, язык так построен. GUI делать неудобно, хотя и возможно, и весь питон там теряется.
Если ты делаешь игру с веб интерфейсом, то это интересно, сейчас реально очень серьёзные вещи в браузере можно делать, за этим будущее, но это больше на JS задача, чем на питон.
Если хочешь делать игру и умеешь тот же шарп-юнити, то да, заведомо лучше не выпендриваться.
>>1848823 > язык так построен А как так построен что на нем нельзя делать графику уровня детроита например? Мб это не из-за языка а из за того что он не компилируемый или просто не та традиция делать на скриптовых языках игры. Мне вот просто интересно, почему на таких как пистон не пилят игры. Он же проще. Что Си что плюсы что шарпы - они же пиздец какие сложные, или на фреймах игры пилить проще и не надо заморачиваться с синтаксисом?
>>1848828 Ставить в один ряд по сложности си, плюсы и шарп - это, конечно, хорошая шутейка.
Шарп - высокоуровневый язык. Тебе там не придётся работать с указателями, препроцессором и т.д., разбираться в структурах данных. Сложность в работе с си шарп другая - тебе нужно освоить фреймворки.
>>1848828 Начал отвечать, но понял, что у тебя слишком толсто и грубо. Не интересно.
А вообще, любой язык лишь инструмент, с помощью которого ты решаешь какие-то задачи. Сложность в решаемых задачах. Если язык ещё добавляет сложности на пустом месте, это плохо.
Для разных задач разные инструменты. Очевидно, что питон не для графики и не для бинарных данных.
Ввести количество переменных с клавиатуры К этим переменным присвоить значения Если переменные входят в промежуток(допустим от 10 до 20), то нужно посчитать их количество.
>>1848843 Ты, наверное, думаешь, что тут сидят написанные на питоне боты с развитым AI, которым ты скормишь задачу, что тебе препод дал, а они выдадут тебе решение.
Сап двач. Задумался о том, что было бы неплохо изучать питон и фреймворки с таким же ньюфагом как я. Мб проект какой совместный запилить. Кому-то это может быть интересно?
>>1848857 Заходишь переменную-счетчик, в цикле по вводу значений переменных проверяешь условие. Если условие выполняется, то увеличивает счётчик на единицу
>>1848856 >Мб проект какой совместный запилить По опыту и наблюдениям, когда речь идёт о том, чтобы ЧТО-НИБУДЬ сделать, то шансы делать что-то адекватно примерно равны нулю. Особенно с мало знакомым человеком.
Есть смысл совместно делать какую-нибудь интересную для участников задачу, которая сама по себе интересна, и уже под неё изучать язык и фреймворки.
>>1848861 Допустим, у меня есть уже идея проекта учебного. Суть в том, что я полный ньюфаг, что касается фреймворков. Хотелось бы найти такого же заинтересованного новичка, с которым можно было бы обсуждать все вопросы и помогать друг другу.
>>1848823 >А ты умеешь хоть немного юнити или шарп хотя бы? Умею в шарп на уровне того, чему научили за полтора года в университете. Самостоятельно же более глубоко выучил питон, и в итоге что-то не нравится мысль, что нужно вкатываться в юнити и учить это все, если в питоне дело пойдет гораздо быстрее через лучшее знание языка.
Приложение разместить в одном репозитории github или bitbucket. Название репозитория должно состоять из рандомного хэша. Для БД использовать Postgresql. Для реализации приложения использовать django. Для фоновых задач использовать celery, шину сообщений RabbitMQ, бэкенд результатов Redis. Графики можно генерить самостоятельно, например через matplotlib.
Скажите это нормальные требования на джуна, просто я начал в себе сомневаться, ибо только с постгрес и джанго смог разобраться на уровне, чтобы понимать как и зачем каждая строка кода нужна, а тут еще минимум 2 сервера нужно поднимать под ребит и редис, либо это может троллинг, хотя все равно хочу сделать задание
Алсо скажите что значит бекэнд редис, я понимаю что для селери нужен брокер, но что такое бекэнд в этом контекте я хз и для чего его использовать, если результаты можно сразу в бд грузить, а отвечать с помощью реббит, разве нет?
>>1848922 У меня всегда после такого отпадает желание продолжать или продолжать считать яблоки на кодворзе. В рашке, с учетом что нету инфраструктруы и нигде этому не учат, хз как и где учиться такому и такое реализовывать. Но вместе с тем, что самое странное. мы имеем телеграм, вк. и охуенные сайты. Этому нигде не учат, но оно само появляется и при том лучше чем у других. Хотя что странного, все эти персы - из дсов, там и возможностей больше. До наших сел что тырнеты что пк дошли с опозданием в 30-40 лет. Остается просто смотреть, и разгружать вагоны, а по ночам считать яблоки на кодворзе.
>>1848922 Т.е для джуна без опыта работы это все же не уровень? А то у меня мозг немного взрывается от того, что мне надо сразу 3 новых хуйни поднять, когда я раньше этого не видел, вот думаю продолжать ли жопу рвать Файл с тестовым называется Тестовое задание. Начинающий Python разработчик. вакансия Python Backend разработчик / Data engineer, правда там опыт работы был от 3-х лет, но я подумал что они решили еще и джуна взять, поэтому мне приглашение отправили
>>1848943 Разница между грейдами больше в опыте работы, в поддержке больного и длительного кода и в столкновении с реальными проблемами, а не в "стеке", не в наборе ключевых слов.
В принципе по верхам как-то нахватать ключевых слов можно довольно быстро. Ну чисто для теста поставить, посмотреть как работает, сделать тестовые примеры уровня hello world.
Реальное использование же такого стека подразумевает либо серьёзный проект, либо ужасно организованный проект, где бахаются ненужные технологии просто для того, чтобы были, это не редкость, кстати, особенно у модных и молодёжных.
Ну ХЗ, кто там чего хочет и почему. Может от тебя хотят способности разбираться в сложной инфраструктуре в первую очередь, что ты этого не боишься, то есть DevOps навыки, а не твой уровень как программиста.
>>1848919 >а тут еще минимум 2 сервера нужно поднимать под ребит и редис Сейчас это совсем не сложно, большинство таких серверов на раз поднимается через докер. Квалификация нужна минимальная, пока речь не идёт о полноценной поддержке эти сервисов.
А вот докер уметь и понимать очень-очень полезно, для современного специалиста в этих направлениях просто необходимо. Поэтому если с докером не знаком, то очень советую начать с него. Жизнь станет легче.
Как научиться читать чужой код, поддерживать его и вот это вот все? Опыта работы естественно нет, так бы не задавал таких вопросов, но есть пару проектов на гитхабе с открытыми ишьюз и ленивыми контрибьюторами. Хотелось бы вкатиться в это все, но я буквально не знаю за что взяться, как искать корень проблемы и как найти его в коде.
>>1848977 Я думаю может хотят узнать смогу ли быстро разобраться в стеке проекта, просто само тз не сложно - сделай форму, значения в бд, сгенерируй картинку, меня просто пугает куча неизвестной херни, в которой мне нужно разобраться на уровне копипаста чужого кода, чтобы был шанс пойти на собес
>>1843911 (OP) 28 лвл без во и профильного опыта Красроглазик линуксоид Когда-то админил сетку и игровые серваки Закончил мат школу Есть шансы вкатиттся в МЛ, АД, ДС и т.д?
>>1849003 Конкретно докер нынче довольно фундаментальная штука. Хотя времени требует, чтобы понять.
Но докер вообще много где сейчас используется, и особенно нужен тогда, когда надо с какими-то большими сервисами работать.
Если так тебе надо или что-то бездумно ставить в систему, пачкая её, имея одну версию и т.п., то так ты уже пользуешься готовыми сборками, настроенными, а установка-запуск зачастую делаются в одну строчку, ничто систему не захламляет и т.п.
Это реально полезная инвестиция времени. И в принципе это спрашивают, знание тебе в плюс, незнание в минус.
Знать надо на каком-то базовом уровне docker и docker-compose. В docker swarm (запуск распределённых систем) лезть не нужно совсем.
>>1849048 Есть перезвонный тред для таких вопросов.
Прежде чем про вкат спрашивать, попробуй сделать что-нибудь из МЛ-ДС прикладное небольшое. Если сможешь что-то интересное сделать, то наверное шанс есть.
>>1849086 Берут только тех, кому не больше 24 и кто окончил или физтех, или МГУ, или ВШЭ. Изучал ты программирование или нет, похуй, главное вот такой диплом и не больше 24, в крайнем случае 25. К.ф.-м.н. могу сделать исключение и возьмут в 26.
Совсем-совсем ничего не знаю, поэтому извините за глупые вопросы.
Виртуальное окружение (в.о.) это изолированные контейнеры, в которых хранятся определённые версии подключаемых через импорт библиотек.
1. В случае, если необходимо запустить скрипт с определённой версией пайтона мы указываем и её и в.о.? virtualenv --python=/usr/bin/python2.6 <path/to/new/virtualenv/>
2. После создания в.о. скачивают в него библиотеку. Например: pip install requests. Затем в.о активируется и выполняется скрипт, путь к которому указан. Как скрипт поймёт, что ему необходимо выполниться именно в этом окружении на другой машине или после deactivate текущего в.о.? Как вообще на другой машине окажется это в.о., если оно не переносимо? Можно выполнить pip freeze > requirements, но мне приходилось пользоваться некоторым ПО на пайтоне и оно не требовало от пользователя никаких действий вообще. Там даже .exe имеется, который запускается как обычно.
То есть непонятна сама концепция автоматизации этих действий для, предположим, стороннего человека, которому без лишних телодвижений необходимо запустить скрипт написанный в в.о. под определённую версию библиотек.
>>1849193 > Как вообще на другой машине окажется это в.о git clone govno cd govno python3.8 -m venv venv source venv/bin/activate pip install -r requirements.txt python govno.py
> Там даже .exe имеется Можешь свое govno собрать в exe либой cx_Freeze >
>>1849105 Сейчас это одно из самых крутых мест в направлении математики и смежных. Круче МГУ (мехмат, ВМиК, физфак) по крайней мере. ВШЭ поднялся, МГУ скатился. Насчёт физтеха не скажу.
>>1849193 Контейнеры это докер. Виртуальное окружение не совсем контейнер, поскольку как минимум тебе необходимо в системе иметь нужную версию питона, а может и ещё каких-то системных библиотек.
То есть это изоляция, но очень-очень ограниченная. Просто чтобы каши не было.
Автоматизировать установку можно через requirements.txt, просто его лучше формировать руками, а не через freeze, freeze очень-очень дурная практика. Нужна гарантированная работа и заморозка - используй докер.
> Как скрипт поймёт, что ему необходимо выполниться именно в этом окружении Запускай через полный путь. Например ты можешь вызвать скрипт как /opt/virtualenvs/venv_37/bin/python hello.py
или, в линуксе, добавить первую строку #!/opt/virtualenvs/venv_37/bin/python разрешить файл на исполнение chmod 755 hello.py и запускать как ./hello.py, не думая, где у тебя лежит твоё окружение и не активируя его дополнительно.
Аноны, такой расклад есть 3 вакансии питон разрабом и 3 тестовых, 2 отправил, одно делаю, за первые 2 вроде уверен что все хорошо написал, но меня пригласили на работу(ранее проходил собес и уже договорился на счет зп) разработчиком rpa, это автоматизация бизнеса через приложения уже сделанные, вставить данные из одной таблицы в другую, загуглить курс доллара и еще что-нибудь и все типа одной кнопкой для клерков, но мне вакансия не интересна, хочу на питоне писать веб. Как вы думаете стоит ли отказать от 100% вакансии ради возможности попасть на интересную и релевантную должность?(предположим оплата одинаковая и условия тоже, выбираю чисто из шансов устроится и интересности профессии, я джун без релевантого опыта)
>>1849236 Ну как бы тебя не взяли ещё на питон-работу и совсем-совсем не факт, что возьмут.
Там может быть очень большой отсев, им может быть десяток человек прислали тестовое, уверенных, что написали хорошо.
Ещё и собеседование может быть, и брать могут по каким-то своим принципам. У тебя опыта работы в программировании, как я понимаю, нет.
Ты должен понимать, что тебя скорее не возьмут, чем возьмут.
Если очень жжёт, просто напиши этим товарищам, скажи, что вот тебе или надо выходить на другую работу, или устраиваться к ним, время не ждёт. Что ты хочешь к ним, в питон, но нужны гарантии. Пусть проведут собес быстрее.
Если ты им интересен, то это хороший повод для них провести собес раньше. Если ты им так себе, то значит в любом случае шансы попасть были минимальны, не ты один.
И учти, что работающий человек привлекательнее для найма, чем ищущий что-нибудь. Просто подсознательное ощущение у нанимателя, что ты востребован и с тобой можно говорить. Бросить через месяц-три текущую работу, перейдя на другую специальность, мотивируя, что эта специальность не интересна - вполне нормально и вполне этично.
Все таки в двух словах, чем джанго лучше фласка или наоборот. Начал дрочить флас, мне он кажется проще, норм доки. есть видосы на ютабе. В целом просто, есть еще и бутстрап джнджа. Но это все есть и у джанго. Так вот, что все таки дрочить. А ведь есть еще и другие фреймы наподобии фласка, и фаст апи, и пирамид и ботл. Или если я норм буду делать приложухи на фласке, остальное тоже будет просто? Посоветуйте.
А как решать числовые ребусы? Почему send+more=money имеет решение O = 0, M = 1, Y = 2, E = 5, N = 6, D = 7, R = 8, and S = 9. В чем логика то? Как я должен присваивать цифорки? Нигде не написано. Я предполагаю что можно сверяться с алфавитом и буквы позади будут иметь меньший номер чем буквы ближе к концу.
Как избежать создания десятка if statements скажем для запиливания своего реквеста. Скажем, если input() == GET, то делай это, елс делай то. Дальше, есть ли хедерс? Если есть, то какие? И тд. В итоге получается куча if else. Есть ли человеческий путь для этого?
>>1849360 А если я няшный кунчик с волосами по лопатки? :3 Если распущу волосы и надену очки, то мой сосед по общаге начинает материться и угрожать, что шишка встанет и выебет. Мимо.
Объясните пожалуйста на пальцах, зачем нужен метод super() в классах?
В гугле не забанили, просто из этого: Функция super(), возвращает объект объект-посредник, который делегирует вызовы метода родительскому или родственному классу, указанного type типа. Это полезно для доступа к унаследованным методам, которые были переопределены в классе. я нихуя не понял
>>1848856 >>1849347 Ну у меня есть одна идея, которая мне пока интересна. У моего универа нет ни электронного расписания, ни странички студента, ни вот этого всего с трекингом нагруженности, времени и прочего. Пока удаленка — это все делается через майкрософтовский функционал и бумажные журналы. Вот хотел бы сделать то, что впадлу было сделать моему универу, но пока пилю другой минипроект на рельсах, потом, если все еще будет интересно, возьмусь за это.
короче, аноны, нужна помощь В моем проекте нужно юзать pcl (point cloud library). Проблема в том, что она написана на c++ и разумных враперов на нее нет: есть один костыль заброшенный в 2017 и еще какая-то не очень вразумительная хрень (хотя я может искал плохо). В чем вопрос: какл лучше подойти тогда к этой либке? Возможно, стоит как-то ее скомпилить как dll и вызывать из питона, это возможно? Или лучше написать свой врапер (я просто таким не занимался и хз как это по трудозатратам)? Или юзать вообще вот этот заброшенный в 2017 врапер и дополнять? Короче немного теряюсь в догадках как лучше, посоветуйте плз спасибо
>>1849499 а как делать так, чтобы эти изменения сохранялись на диске? потому что при следующем вызове этого словаря после перезапуска программы удалённый элемент снова там.
>>1849394 Забавно, когда мне пришла идея сделать что-нибудь с расписанием вуза я узнал и про ботов телеги и про отдельное приложение под ios/android в котором было расписание полное
Еще один интересный варик: калькулятор заменяющий eval. (Строка с действиями ( например 1+2*3(7+1)) и их нужно вычислить не применяя евал.) Я хуй знает. Обычный калькулятор с выбором действия как нехуй делать, но вот такое посложнее. Подумываю о использовании рекурсии.
>>1849551 >>1849566 По, моему не очень сложно. Берем список букв и чисел, заменяем, эвалим, проверяем. Если не совпало, сдвигаем числа и пробуем опять.
>>1849567 >>1849566 Вопрос в том, как красиво и элегантно в плане кода решить. Так то понятно, что можно тупо перебором даже, всё равно быстро будет.
Ещё второй вариант, попробовать решить через sympy. Тоже интересно для тренировки, но лично я этим sympy почти не пользовался, только давно и пощупать.
>>1849259 > чем джанго лучше фласка Фласк топ, остальное не нужно ну фаст апи и торнадо тоже топ
> бутстрап джнджа Не нужно в 2к20, далай апи
>>1849270 Как такой вопрос вообще можно задавать? Очевидно QT
>>1849358 Можно просто добавить ретурнов, а не писать в элс if input() != GET: return if x != y: return Ну и сразу можно вернуть соответствующую ошибку.
>>1849596 Нет разницы. Я просто упомянул буквы. 10! это перестановки без повторений. Можно отбросить конечно перестановки с лидирующим нулем кроме как. Ибо он не может существовать. Но как это проверить? Ифом? Который тоже жрет время? Или кучей вложенных циклов в которых некоторые буквы не от 0 до 9 а от 1 до 9. (Но при этом кстати букв не обязательно 10 штук.)
Ну конечно еще перестановки где физически тупо выглядит. Ну 4 + 4 буквы = 5 букв, первая буква в последнем слове не может быть равна выше 1. Но это ебать дерево ифов.
Ну я тупой короче и мне сложно. Подожду решения. Может кто-то сделает. Я хоть посмотрю как это делается. А пока буду пытаться сделать копию eval.
>>1849604 >Ну конечно еще перестановки где физически тупо выглядит. Ну 4 + 4 буквы = 5 букв, первая буква в последнем слове не может быть равна выше 1. Смотри условие задачи полное: >>1849566 Там надо сделать универсальное решение, причём в уравнении может быть не два, а больше слов.
Решение в лоб это перебор. С учётом, что у нас букв может быть меньше, чем возможных цифр, в данном случае всего 8 букв, то перебор делается сначала по комбинациям цифр 8 из 10 в нашем случае, потом уже перестановка 8!
Вот код для получения всех возможных перестановок: letters = set(word1+word2+answer) cnt = 0 for digits_selection in itertools.combinations(range(10), len(letters)): ____for digits_permutation in itertools.permutations(digits_selection): ________variant = dict(zip(letters, digits_permutation)) ________cnt += 1 print(cnt)
для 9 и 10 букв возможно 3628800 вариантов (10!), для 8 1814400.
сам двойной цикл работает весьма быстро, 0.2 секунды на всё, если закомментировать строчку с variant, если раскомментировать, то 3 секунды уже. Дорогая операция, может как-то оптимизировать можно.
первая буква, по идее, не может быть нулём, подразумевается в таких задачах. То есть m и s в нашем случае.
Дальше можно просто тупо проверить, соответствует ли словарь решению или нет.
Не делал пока.
Но не нравится это, как-то немного топорно и медленно. Надо что-нибудь более оптимальное, как в уме если задачу решать. Вариант в лоб работает, потому что цифр всего 10. Для 16-тиричной системы накрылся бы, хотя умно можно быстро решить.
>>1849607 Ох ебать. Нихуя не понял из твоего кода. Эх, надо учить ваш синтаксис.
Там наверно нужны охуенные кучи ифов, либо похожие проверки, ибо например если ответ больше на один символ самого большого слагаемого то не имеет смысла искать первую букву выше 1. В общем если ответ выше на одну цифру то первая цифра ВСЕГДА 1.
Если есть слагаемое из двух букв и четырех и при этом первая буква суммы не равна первой буквы abcd ef ghab то b = 9 Ну и выдумать больше таких правил чтобы перебирать нужно было не кучу вариантов, а уже поменьше. >>1849628 > Вот код для получения всех возможных перестановок: Пасяб канеш, но как таковые комбинации не нужны. Их проверять надо. А с их количеством время сильно жрется. И количество слов может плавать, кстати.
>>1849649 В общем случае только перебор остаётся. Логические правила можно придумывать, когда у тебя сумма из двух слов. Вот тогда можно быстро именно логикой решить.
А когда у тебя может быть десять слов, хрен ты что придумаешь.
А твоя программа должна уметь решать все варианты, и поддающиеся логическому решению, и не поддающиеся, и такие оптимизации теряют смысл.
Господа, есть масив который нужно заплитить по "\", но у некоторых элементов есть "\а", что воспринимается как спец символ и x.split("\\") не работает. Как мне такое разделить?
>>1849750 Есть элемент "Steven Adams\adamsst01", на выходе мне нужно получить Steven Adams и adamsst01. Из-за спец символа '\a' обычное разделение split("\\") тут не работает. Как сделать чтобы работало?
>>1849771 Норкоман, если ты хардкодишь строчки со слешами, то эскейпь их или делай raw. r'a\a' или r'a\\a' Это относится только для значений определенных в коде, во всех остальных случаях на это похуй. Всё.
def login_required(function=None, redirect_field_name=REDIRECT_FIELD_NAME, login_url=None): """ Decorator for views that checks that the user is logged in, redirecting to the log-in page if necessary. """ actual_decorator = user_passes_test( lambda u: u.is_authenticated, login_url=login_url, redirect_field_name=redirect_field_name ) if function: return actual_decorator(function) return actual_decorator
Не понимаю что такое actual_decorator и почему вы в него передаем функцию
>>1849504 Ну ты код покажи. Покажи, как данные на этом самом диске хранятся. Файл там у тебя какой-то, куда всё записывается, БД или может вообще с левого места подгружается все
>>1849288 Перебором. Прогоняешь все числа от 1111 до 9999 для первого слагаемого. Потом числа от 1111 до 9999 для второго, смотришь, удовлетворяет ли результат входным условиям.
>>1849935 >>1849933 Разобрался. Только сейчас заметил, что он тянул нумпай с корневого каталога Питона куда я его скопировал как-то, а не из папки с либами.
Знатоки, вопрос. Делаю запрос requests.get на API вконтактика с токеном группы. Отваливается с ошибкой, что нет разрешения. Делаю с токеном приложения, отваливается с ошибкой, что нет доступа к такому методу. Хотя у приложения (standalone) есть все доступы. Как вы стучитесь на API Вк? Живой пример покажите, пожалуйста, а то я заснуть не могу.
>>1849774 Вот решение моё. Не очень мне нравится, тяжеловато. По-возможности разогнано. В 10 секунд самые долгие варианты на моём ноуте 10-ти летней давности считает.
>>1849450 >Возможно, стоит как-то ее скомпилить как dll и вызывать из питона, это возможно? Или лучше написать свой врапер (я просто таким не занимался и хз как это по трудозатратам)?
Все возможно. Есть стандартный модуль ctypes, он умеет вызывать сишные функции, только надо их правильно описать, "представить" эти функции модулю ctypes, так сказать; есть cython, это такой язык на основе питона, там нужно обязательно указывать типы переменных, он умеет напрямую вызывать сишный код, а модули написанные на cython можно потом вызывать из нормального питона; есть всяческие инструменты для создания привязок, вроде pybind11, cppyy или CFFI. Куча вариантов, выбирай, к чему душа лежит. Вот некоторые материалы по теме:
Есть ли какой-то официальный гайд типа PEP по расположению файлов: тестов и их методов с классами? Типа есть папка Фича, в ней находится файл с классами и методами и внутри там папка тесты. Или как-то так. Желательно с линком. Спасибо.
Почитал про фласк, скл алхими, посмотрел пару видосов. С постманом очень удобно делать апи и тестировать его. Реквест такой. Как прокачивать навык написания апи. Опыта мало, хз с чего начать. Для начала у кого есть опыть в написании таких апи, что именно требуют компании для своих наебизнесов. Я даже примерно не могу представить что им может потребоваться. Да и портфолио соответсвуюего нету.
>>1850129 Скажите что не у меня одного мозг при виде даже самой пройсто регулярки мозг отключается и я не могу заставить его работать смотря на регулярку
>>1850160 > Как прокачивать навык написания апи. Почитать что такое restapi и с чем его жрат. Дальше, бери любые сервисы которые юзаешь(ВК/телеграм/двощ/пекабу/новостные сайты/платежные системы (Stripe, к примеру, можно бесплатно гонять) ) и пробуй подключать к их апи и смотри как они у себя реализуют.
> Опыта мало, хз с чего начать. С пет проектов.
> Для начала у кого есть опыть в написании таких апи, что именно требуют компании для своих наебизнесов. Умение их хотелки преобразовать в АПИ и сервисы.
> Я даже примерно не могу представить что им может потребоваться. Логин/регистрация юзера/CRUD данных юзера, к примеру. TODO List.
> Да и портфолио соответсвуюего нету. Пили акк на гитхабе и комить.
>>1850477 Ну почему же, если у тебя стоит задача втиснуться в какие-то лимиты, то вполне себе. Оно же не с нуля так пишется вчистую, а обдумывается, тестируется, срезаются углы тут и там. Выходит стремненько, но задача выполнена.
Аноны, подскажите, у меня задача в джанго сделать либо вывод картинки, если функция без эксепшенов прошла, либо текст ошибки, как это лучше оформить, пока самое простое решение это записать в поле модели img(TextField) либо s-'название картинки', либо e-'название ошибки' и как-то проверять наличие e или s в этом поле, но уверен есть другие способы, более правильные как через джанго при отсутсвии картинки выводить текст, подскажите куда копать
>>1850240 А есть ли разница вообще на чем делать апи? То что это перспективно и востребовано я понял. Щас вот решаю на чем делать. Джанго - слишком сложно. На фласке - еще более, но есть фласк рест, там вроде попроще. Есть фаст апи - там типо вообще просто. Посоветуй с этим. И что все таки запилить, туду лист и что еще можно? Я просто хз где эти апи и как юзаются, читать то читал. Но там пишут так чтобы меньше конкурентов было.
Я может чего блять не понимаю, но: 1. на кой эти больные ублюдки импортируют sys как _sys и atexit как _atexit. Нахуя? 2. Вроде как импорт from . import _defaults зашкварен сам по себе не? _defaults в названии модуля должно означать что этот модуль не предназначен для импорта же, а?
>>1850160 Авито на стажировку просило запилить жсон рест апи по укорачиванию ссылок, сделай такой, мне помогло разобраться что же такое рест апи, слабо теперь понимаю как я раньше себе это представлял. И да, как по мне джанго это не сложно, он идеально как по мне реализовывает mvc, вот тут у тебя бд, тут шаблоны, тут вьюхи, просто поищи курсы, статьи, доки, видео и во всем азберешься
>>1850849 По соглашению, если там есть андерскор, то к нему не надо лезть, это непубличное апи и вообще сьеби. Второй вопрос это то же самое, в общем. Это часть либы, которую он использует и импортирует для себя, а ты пользуйся публичными интерфейсами, которые без андерскоров.
>>1850880 Да я почитал что такое рест апи, и что тако круд, посмотрел пару видосиков, вроде ясно так то, пут. делет, гет. пост. Но вот я никак не могу поянть, для чего этот апи нужен всяким ваито и яшам вк и тд. Те для чего он вообще нужен. Например если пилить апи для фирмы. Зачем этот апи нужен им? Ну вот ты сделел этот укарачиватель ссылок, кто им пользуется как он устроен? Апи вобще для кого? для людей, для компухтеров, для кого? А так мне удобней кажется фаст апи, рест флас, еще старлетт есть. Но те которые прям для этого удобны. Но я не могу понять, зачем нужны вот эти все жсон ответы и так далее. Конечно я читал про рест апи. но так и не понял зачем. Зачем именно для людей это нужно.
>>1850906 Это разные структуры и нужны для разного. Лист словарей будет hui[0]['key'], хотя вряд ли нужен доступ по индексу. Словарь словарей hui['key1']['key2'].
ананасы, помогите с ткинтером есть текстовое поле >text = Text(frame,height=10) я добавляю в него текст в 1 строку, все ок. но когда пытаюсь добавить в 2,3 и т.д. он всё ровно дописывает текст в прошлую строку text.insert(2.0, "test text") что я делаю не так7
Доброго времени суток анонимы. Ищу какой-либо практический материал по симуляциям и байесовским сетям. Желательно на пайтон, но не обязательно главное что бы листинги присутствовали.
>>1851191 Учить си и курить исходники, очевидно же. В самой питоновской документации это не описивается. Есть некоторые лекции и книжки, разбирающие внутренности cpython.
Питоняши, приветик Дайте совет, как разбирать asn.1 на питоне? Мне нужен не весь ber/der, а только небольшое подмножество, ну, там, SEQUENCE, OCTET STRING, INTEGER, CHOICE, REAL и т.д., еще нужны атрибуты OPTIONAL и IMPLICIT. На самом деле, не сильно дальше этого, поэтому не предлагайте, пожалуйста, pyderasn и pyasn.
Вопрос в том, как с точки зрения концепции организовать этот процесс? Классами теги делать или что и как? Вообще не совсем понимаю, короче.
>>1851234 Как будто кто-то знает, что это за хуйня. Но по контексту примерно понятно, это отдельная дисциплина, по которой куча инфы. Лексический разбор, парсинг и т.д. В эту сторону и гугли.
>>1851322 Хз, я только учусь. Читаю пояснение: Метод read(размер) считывает из файла определенное количество символов, переданное в качестве аргумента. Если использовать этот метод без аргументов, то будет считан весь файл. --- Но вот я и использую метод, без параметра, а это говно ничего не выводит.
Добрый вечер. Если бы вы учили дауна программированию, да в качестве первого языка давали питон, какой бы материал дидактический посоветовали? Учу предка. Ебались даже со стек-машиной Форт, но регистры предка переполнились. Спасибки.
Пока мне из списка в ОП-посте "укус Питона" показался по уровню норм, но там "провалы" с изложением. Сперва пространная ебля а-ля ультранубье, затем через 50-100 страниц лезет в ООП.
>>1851468 Что-то ты батю недооцениваешь, лол. Вот эту я ещё смотрел и она мне показалась слишком уж разжевывальной. https://www.manning.com/books/get-programming По-моему, перевод пролетал, но сходу найти не удалось.
>>1851471 Спасибо. Да, транслейт не гуглится. Насчет 1 впечатления соглашусь, но там нашел индекс элемента строки, имеющий вид range. Не совсем пустой звук. Может заплачу автору.
Нубский вопрос. Можно ли в питоне перегрузить операторы так чтоб умножение вместо (а-1)(в-1), было (а-1)(в-1) или (а)(в) == ав. А, в степень подносить с помощью a^2 == a2
Если можно, то примерно через что реализовать? или читать как строку (а-1)(в-1) и через регулярные парсить?
>>1851052 И все я равно я не понял. Чтобы запилить апи, мне надо чтобы у меня уже было приложение. И для него сделать апи. Но у меня пока нет никаких приложух. Мои действия какие, сделать апи на базе уже существущих? Поясни плис, нету опыт просто. Сделать не проблема, я просто не совсем понял для чего это нужно. Обращаться к апи будет человек или другие программы? Апи - это что-то типо телеграм бота чтоли?
>>1851626 без разницы кто будет обращаться, ты главное сделай так, чтобы параметры, передаваемые в твой апи, в итоге формировали запрос sql к базе данных и отдавали обратно запросившему ответ в виде json или xml.
>>1851638 Если я правильно понимаю, надо реализовать круд, те пут, делит, апдейт и криейт. Но а как же что нельзя сохранять инфу о состоянии клиента? Или занесение запросов в бд - не считается. Кароче, должно быть как - сам круд плюс - любая бд по типу sql? А веб морда должна быть или это не обязательно? И еще по архетектуре, апи же пилится под какое-то приложение, нет? Те типо есть телега, а ее апи - это уже как связаться с телегой? Хочу вот разобраться. А то идет хайп вокруг этих апи, а я валенок.
>>1851650 не обязательно под приложение. ты сайты парсил вручную? реквест, потом восхитительный суп, получил данные и использовал. примерно такая схема без апи. а с апи ты бы написал просто реквест(АДРЕС_САЙТА/МЕТОД?имя=вася, пол=мужской) и получил бы жсон без парсинга. как-то такое примитивное представление об апи у меня.
>>1851683 Парсил да. Вот про это и вопрос. Обращатья должны же другие за инфой или вносить данные.Типо сервиса. Не даром же пут, делит... Те у меня приложуха, типо вк. Я запили апи. Выдаю токены, и дт, через апи обращаются к самой приложухе. Так же и в фирмах. С тем же ТОДО. НАчальник просто вносит тодо, другие получают. Это все ясно. Но вот что меня смущает. Вот этот жсон. Я не думаю что какаянинть телка будет сидеть и curl получать задание ТОДО. Я вот и пишу, нужны будут эти морды, красивости и тд. Иначе я нпонимаю что такое апи, что оно делает и нахуй вообще нужно. По докам я понял что пилить его просто. Вот хочу сделать и поместить в гит. Но копировать чужой код - тоже такое. Но примеры с видосов или с доков - примитивны, не с реального поля боя. Но с другой стороны, я понимаю что пилить апи - доходня хуйня, тк а хх ру куда не сунься везде - флас, маска, апи. Те в сети тоже инфа - чисто общая, типо интерфейс для взаимодействия.. бла бла. КОнкретики нету.
>>1851684 наверное в запросах работодателей навык написания апи нужен для того, чтобы расширить свое присутствие в будущем в инете, сейчас у них голая база и веб-страничка с ценами, которую парсят самоделкины. будь у них апи, они бы выдали токены и не охуевали от нагрузок на сервер ну или хз какие мотивы у них там). а всякие морды и красивости должны остаться уже на совести самих нуждающихся.
>>1851684 Тебе как бекендщику должно быть похуй как апи использовать будут. Могут веб-морду сделать. Могут приложуху для мобилки навернуть. Могут башскрипт который курлом будет тянуть инфу, парсить и что-то делать в зависимости. В этом и смысл апи, что инфа предоставляется относительно универсальным методом (а не просто высирается в виде вебстраницы) который можно использовать практически где угодно. Тебе как разработчику нужно всего лишь реализовать нужные роуты. Ну или если совсем с нуля - то продумать сценарии использования чтобы получить мифический "удобный апи". Но ты думаешь в сторону "какая инфа нужна" а не "как использовать будут".
>>1851556 Что "в транзакции"? Там несколько десятков разных query, если их гонять через обычный for или попытаться загнать в транзакцию на уровне БД то на производительности это скажется не лучшим образом
>>1850526 Ты бы подробнее описал что у тебя за функция и что вообще происходит, а то непонятно зачем тебе хранить ошибку в модели вместо того, чтобы просто возвращать её текст в респонсе. >>1850668 >Джанго - слишком сложно Для джанги есть django rest framework, тоже простой, но говорят, сериализация медленная.
>>1851337 >Объясни пожалуйста что за обвязки У джанги по дефолту куча мидлвейров (промежуточная обработка реквеста перед выполнением пользовательского кода), типа аутентефикации и сессии.
>>1851716 Начинаешь транзакцию, хуяришь много запросов, коммитишь. Это намного быстрее и скажется на производительности охуенно, потому что применяется скопом, а не по одному запросу. Так ещё диды делали и это правильный способ пакетных апдейтов.
>>1851696 Ну хорошо, как все таки лучше это апи сделать? Под что например, просто набить рандомной инфой? Или подсмотреть у кого-нибудь можно? Смутно представляю что это и с чем едят. Ну например, доставка пиццы?) хз или еще что. Что вообще это может быть. библиотека, склад. магаз. Наприер если сделать подобное и поместить на гитхам так чтобы не было совсем стыдно.
Должен выдавать какой-то внятный ответ json Но он не выдаёт нихрена кроме сообщения о том, что я успешно приконнектился <Response [200]> [Finished in 1.178s]
Как получить json от этой шелупони нормально - по человечески?
Да, если я через терминал отправляю - curl то всё ок принимается
Привет. Смотрю курсы по питону и у меня возник вопрос: Задание с классами. Там в классе 4 закрытых поля числовых, так вот есть 4 метода гет и 4 метода сет. В задании написано: 5) Сделайте закрытый метод printlog(), в котором с помощью функции print() выводите значение переданного параметра. 6) В методах get и set вызывайте метод printlog с параметром: «Запрошено свойство NAME» (для методов get) или «Изменено свойство NAME» (для методов set). Вместо NAME должно быть подставлено имя соответствующего свойства.
Я не понимаю как в этом методе обращаться к параметру класса
Можно ли средствами питона установить переменную окружения для родительского процесса unix? Т.е запустить из шела скрипт.py где устанавливается некая переменная окружения, а потом набрать echo $имя и получить её значение.
Или это ебанина какая-то и нормальные люди пишут для этого шел скрипты?
Уважаемые гении, подскажите, пожалуйста, как в джанге сделать поле динамическим? типа если поменяли цену на товар то и в корзине цена поменялась. Я допенькал только до изменения сейва, но это решение, очевидно, говно.
Как лучше организовать модели? Я использую tortoise orm для сохранения моделей в базе и pydantic для валидации и сериализации (оно встроенно в fastapi). Модели могут быть разные и одинаковые по полям. Думаю сделать абстракный класс для pydantic моделей, которые подразумевают отражение в базе и сделать там методы convert_to_orm для преобразования в orm модели и методы сохранения/апдейта, которые будут юзать convert_to_orm.
>>1852160 Так то да, но шо попросили, то и ваяем. Думаю сейв в продукте переопределить и в нем инициировать обновление корзины, на сколько это решение говно?
>>1852187 У тебя другого выбора и нет или можно засунть модель корзины в redis или любое другое in memory хранилище, а в базу сохранять только какой-нибудь wishlist
Поясните плис за деплой и продакшн апи. Мало инфы про rapid api и heroku. Что такое рапид? Зашел туда, хуй скачаешь апи, позициориуют как то что там тонны этих апи и все туда их заливают. Что это такое?
>>1850886 Применительно к укорачивателю ссылок - в авито предпложим есть функция, которая на мейл тебе кидает что твою машину хотят купить, если ее тригернуть, то функцию собирает данные и отправляет в этот апи, в нашем случае отправляет ссылку, а в ответ получает укороченую ссылку, которую вставляет в мейл и получается в мейле короткая ссылка, а потом они запиливают функцю копирования объявления - кнопка поделится, эта кнопка тоже отправляет такой же запрос на апи и получает ссылку, а потом они придумают еще 10 мест, где им хотелось бы иметь короткие ссылки с их доменом. Таким же образом у вк есть, например апи для авторизации или есть апи какого-нибудь сайта погоды