Это копия, сохраненная 22 апреля 2021 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
Отмечаем эпохальное событие - наши люди проникли в логово Microsoft, чтобы поставить на python way самого культового производителя программного обеспечения в мире.
Предыдущий: >>1852315 (OP)
Литература:
https://ln2.sync.com/dl/cf2c1d070#xq4s328t-xbbjys2z-9r6j7ss7-gf4e9dv6 <-- Книжки, новое собрание
Ещё книжки: https://yadi.sk/d/HQhhsBsq3TVRUq
Тоже книжки: https://yadi.sk/d/tArKKuQu3Kejuq
Больше книжек: https://yadi.sk/d/H-00n-UG3RSQem
Анон, вместо того, чтобы без разметки постить код, лучше шарь его через специальные ресурсы:
https://ideone.com/ - возможность постить листинги кода и онлайн-запуска, не требует регистрации
https://dumpz.org/ - можно постить листинги, не требует регистрации
https://pastebin.com/ - для листингов, регистрация не обязательна
https://www.codepile.net/ - можно расшарить код в том числе на редактирование, особая полезная опция - чат при каждом листинге, где можно код обсудить
https://pyfiddle.io/ - запуск python кода онлайн, но чтобы шарить, надо регистрироваться
#######################################
ЧаВо: https://github.com/TheKnightsWhoSayNi/info/wiki/Hat Актуальность примерно 2015 года
Вопросы-ответы:
— А стоит ли читать Лутца, том номер N?
Мнения в треде разделены. Кто-то за (очень неплохая база даётся), кто-то против (слишком много воды и объём книг убивает всё рвение). В общем — решать тебе, книга вредна не будет, но ты можешь её просто не дочитать и забросить.
— Стоит ли читать %книга_нейм%, если там питон версии 2.х?
Нет, не стоит. 100% есть более актуальная книга, для пистона 3.х
— А что ещё можно читать?
Питон сам по себе очень хорошо задокументирован и для уровня начинающих, и для продвинутого. Смотри официальную документацию. Можно начать вот с этого https://docs.python.org/3/tutorial/introduction.html
— Есть у кого на примете годный курс лекций по алгоритмам? Формат лекций мне как-то ближе, нежели просто чтение книги.
МФТИшный курс, например, https://www.youtube.com/playlist?list=PLRDzFCPr95fK7tr47883DFUbm4GeOjjc0
— Что можно почитать/посмотреть по многопоточности/параллелизации в питоне, да и вообще в целом?
Очень годный ролик на американском языке про многопоточность и асинхронность https://www.youtube.com/watch?v=MCs5OvhV9S4
— А как учить джангу? Нахожу только книги по джанге 1.х
У джанги отличные доки (одни из лучших для пистоновских либ, имхо), почитай их для начала. Книгу по джанге можно читать и для версий <2, это не проблема, т.к. принципы остаются теми же. Для переката на 2.х хватит changelog`a или тех же самых доков/статей. Начни изучать с разбора учебного приложения с голосовалкой из официальной документации.
— В ньюфаг-треде написано, что нужно начинать с SICP, чтобы научиться программировать
Вот, пожалуйста, та же самая программа, но переработанная под язык Python: http://composingprograms.com/ (нужно знать ангельский или уметь пользоваться переводчиком)
— Можно ли на питоне делать мобильные приложения?
Да, смотри на фреймворк Kivy https://en.wikipedia.org/wiki/Kivy_(framework) https://kivy.readthedocs.io но народ на него жалуется
— Как можно без лишней возни ускорить программу на питоне
1) проверь сначала свой код, алгоритмы и структуры данных. Чаще проблема здесь.
2) код можно иногда феерично ускорить, используя JIT (Just-in-Time) компиляцию. Почитай обязательно про модуль numba, он ставится через pip, и альтернативный интерпретатор PyPy.
— Дайте нормальные книжки на русском! Мы, блядь, не в пиндосии живём
Брат, смотри книжки по ссылкам в шапке, там есть и русские. Но помни, без языка ангелов твоя жизнь проходит мимо и ты обречён быть на обочине знаний и технологий.
ps: анон, если ты вносишь изменения в шапку, оставляй ссылку на код с обновлённым исходником.
исхдник: https://dumpz.org/bASGKD8cCFDf
>Не смог идеально рассказать про
Не путай собеседование и экзамен в институте. Если ты себя ставишь как студента, пришедшего на экзамен по сложному предмету, то и относиться к тебе будут как к студенту на экзамине, а не как к потенциальному коллеге.
Больше смотрят на то, как ты отвечаешь, а не насколько чётко и идеально. Если, конечно, адекваты и именно ищут, а не просто так собеседования проводят, потому что положено.
>Это же относится и к вебу - если сайт очень уж большой, то надо с питона куда-то перебираться.
А чем тут плох питон и какие альтернативы?
>А чем тут плох питон и какие альтернативы?
Да ничем он не плох. С точки зрения производительности питон подходит абсолютно для всего кроме числодробилок. С точки зрения удобства - спорно. Небольшие веб-сайты на питоне писать хорошо, большие - не очень, из-за динамической типизации. ГУИ в 2020 нужно вообще писать на электроне, который еще медленнее.
>большие - не очень, из-за динамической типизации
Диван?
Главное при работе с большими сайтами - читабельность кода и модульность самого проекта. Причем тут типизация вообще? Особенно после того как подвезли в пистон "var: type".
P.s. Микросервисы и дробление монолита рулит.
В чем проблема заставлять макакенов писать -> str? Тогда ведь проблем не должно возникать
Ну так я понимаю, что перед и после меня 5 таких же дурачков, только они то небось точно помнять все 5 или сколько их там, до сих пор не посмотрел нормальных форм, тут уже единственное во что не скатываюсь так это в оправдания и подобное. Алсо что за привычка у них просить переходить на ты, я себя физически не могу заставить образаться на ты, это я маня закомлексованая или это нормально?(вообще этой темы не понимаю, ни в барах, ни в ресторанах, ни на работе)
>только они то небось точно помнять все 5 или сколько их там
Мне кажется, что вот совсем-совсем не нужно их помнить. Это слишком теоретическая вещь. Но саму концепцию знать стоит. И плюсы-минусы нормализации данных. В общем суть в том, что не отвечать как на экзамене надо, а уметь поддержать беседу на тему.
>Алсо что за привычка у них просить переходить на ты, я себя физически не могу заставить образаться на ты, это я маня закомлексованая или это нормально?
Люди ищут себе коллег, с кем им будет комфортно работать бок о бок. Когда на Вы, то это какое-то очень формальное отношение, деловое. Некомфортно. Особенно когда о простых друзьях-разработчиках, а не о том, чтобы звёзд с именами привлекать.
Здрасте извините
Тут есть шарящие в регулярках на питоне? Как мне получить строку, что находится между символами . и &? Например ab.cd123.lox&31g, в данном случае надо lox получить
> я себя физически не могу заставить образаться на ты
Когда предлагают перейти на ты, говорю что мне комфортней на вы в данный момент общаться и все. Я этих товарищей первый раз вижу, иногда и послдний, мы не друзьяшки.
Что думаете насчет этой таблицы антоши?
Облегчает ли она понимание ваше уровня и скилов?
>Особенно после того как подвезли в пистон "var: type".
>>61614
>В чем проблема заставлять макакенов писать -> str? Тогда ведь проблем не должно возникать
Рано или поздно это закончится типами вроде List[Tuple[Set[str, str], Optional[Tuple[int, float, str]]]], которые не всегда корректно проверяются в IDE. Да, можно писать классы, но питон к этому не принуждает. Из кучи макак кто-нибудь обязательно начнет писать говнокод, и проект постепенно пойдет на дно. В языках со статической типизацией и принудительным ООП дрессировка макак частично выполняется конпелятором, что хорошо влияет на качество кода.
>Особенно после того как подвезли в пистон "var: type".
Проиграно в голос. После того, как динамикопетухам завезли статическую типизацию динамическая дрисня стала не так и плоха!
Динамические типы очень хороши, большая гибкость есть, особенно когда надо со сложными структурами данных работать, которые может быть динамически создаются.
Но проблемы от них тоже появляются.
Механизм контроля типизации как раз позволяет делать проверки типов там, где актуально. Для библиотек особенно актуально.
Появляется большая гибкость, можно делать, можно не делать, а не страдать, как приходится людям на c# или golang.
Нет. Если ты в теме более-менее, то и сам знаешь о своём уровне и об уровне топов. Если не в теме, то и по таблице этого не поймёшь, либо же будет очень неверно её интерпретировать.
Ну например на линуксе можно выполнить: cat /etc/relisos | grep version
А как эти же самые действия реализовать на питоне?
Или как можно консольный вывод баша транслировать в питон?
with open('filename.txt', 'r', encoding='utf-8') as f:
____for line in f:
________if 'something' in line:
____________print(line.rstrip())
ну и с re аналогично.
Соблюдение стилистики и общепринятых правил на проекте при написании кода даёт определенную защиту от различного рода перегибов. А принудительности ООП вообще, как по мне, сомнительная вещь, т.к. не стоит никого ни к чему принуждать. Хочешь ООП и оно в данной ситуации подойдёт - ебош, хочешь ООП но смог высрать класс с одним методом и наследования и и не пахнет - зачем тогда несёшь ООП сюда? Модульность можно прекрасно сделать и без ООП, по крайней мере без своего.
>>61667
Это не типизация, скорее возможность оставлять подсказки за собой, о том, что и как надо передавать и принимать в ответ.
Понял/принял/поблагодарил
Есть блок with, открывающий лог-файл, есть итератор обджект, который читает подряд строчки и ищет в них определенные вещи.
Проблема:
Есть определенные строки, на которых мне нужна инфа не только из этой строки, но и из следующей, причем одновременно.
Как мне получить доступ из current string в next string?
Насколько я понимаю, если взять итератор обджект и тупо дать next(), то я теряю свою нынешнюю строку и перехожу на чужую, штомниделоть...
Пример:
[234] в следующей строке написано, кто такой оп
[235] он хуй, а что ты ожидал
Когда я наитерировал до 234 строки, я хочу, находясь в ней, получить доступ в 235 строку, чтобы выдать что-то типа оп: хуй
> теряю свою нынешнюю строку
дак не теряй
for line in srenk:
if 'оп' in line:
prev = line
if 'хуй' in line:
print(prev + line)
Создай буфер для строк, складывай строки туда, а как накопится нужное количество, делай нужное действие и сбрасывай буфер или его часть.
Если это надо делать больше одного раза и надо оформить красиво, то создай свой собственный генератор, который будет буферизировать строки и выдавать блоками
Удачным ли выбор для меня - flask applicaiton builder ?
В чем вообще смысл его существования, если есть django ?
Что у него с производительностью исходя из архитектурных соображений? В
Как реализуются асинхронные запросы к нескольким источникам?
Как работают длительные задачи ?
О, спасибо
Как в sqlalchemy сделать откат при сохранении в базу?
Поясню: есть 2 операции, одна добавляет данные в Таблицу_1 (insert), вторая - обновляет данные в Таблице_2 (update), если где-то на пути вылезет Exception то может получиться что данные запишутся лишь частично, а это очень плохо... Как сделать так чтобы при возникновении Exception изменения в базе откатывались к первоначальному состоянию?
Транзакции
Скажи, а отвечать в духе да, я знаю как нормализовать базу данных, но мне нужно погуглить что-то это норм на собеседовании? Типо если говоришь, что знакшь, но отвечаешь, что загуглил бы то и то
Вообще отвечать "загуглил бы" и любые похожие вариации это не очень хорошо. Они ищут программиста, а не мастера по поисковику. Лучше просто сказать, что не помнишь.
Ты лучше скажи про саму идею, что такое нормальные формы и зачем они нужны вообще. Какие плюсы, какие минусы от нормализации. Где бы ты сам стремился к тому, чтобы максимально нормализовать данные, а где наоборот, отказался бы.
В общем можно просто пообщаться на эту тему.
Нормальные формы о том, как представлять данные в БД, чтобы не было противоречий, чтобы они ложились в реляционную модель, чтобы не было избыточности и т.п.
Просто надо понимать, как работать с данными.
Тебе ведь надо делать что-то самому, твоя работа не в том, чтобы на вопросы препода отвечать, а чтобы самостоятельно что-то реализовывать. Ты должен понимать, что ты делаешь и зачем ты это делаешь. Ты должен представлять, какие подходы есть, чтобы при необходимости углубить знания в нужном направлении и использовать его. Или осознанно и аргументированно отказаться от какого-то подхода, что не менее ценно.
>Тебе ведь надо делать что-то самому, твоя работа не в том, чтобы на вопросы препода отвечать, а чтобы самостоятельно что-то реализовывать.
Не факт, что то, что спрашивают тебя на собесе будет на работе
try:
инициализация db_session
table1.insert()
table2.update()
db_session.commit()
except Exception:
db_session.rollback()
Инициализация должна быть за пределами блока try...except, конечно же.
class A:
__def a(self):
____if 1:
______pass
__def b(self):
____if 1:
______pass
__def c(self):
____if 1:
______pass
__def check(self):
____if 1:
______pass
Вот хотелось бы проверки убрать из всех методов, а до их вызова чтоб срабатывал check - проверял и если хорошо, то передавал вызов методу a, b или с. А если нет, то не передавал
декораторы например
Какой-то полный разDRY и непонятно, зачем вообще тут все в классе держать, но ок:
1) Инициализировать проверку в магическом методе __enter__ и запускать класс в контекстом менеджере
2) Вынести все в один метод-обработчик
3) Обработать вызовы на клиентской стороне
Декоратор же, блять, уже год не писал их и забыл про низ
*Не
Во-первых, это три разных подхода, а не пункты, которые нужно выполнять один за другим, а во-вторых, клиентская сторона - это все, что ты пишешь после if __name__ == '__main__', а не фронтэнд, о котором ты видимо подумал.
Двач, я не умею писать код, подскажи пожалуйста материалов.
Так уж вышло, что пишу код я уже относительно давно(5 лет), и на разных языках, от ассемблера до питона, но всегда писал либо для себя, либо какие то проекты с закрытым кодом.
И стыдно это признавать, но я так до сих пор и не научился писать читаемый код.
Не знаю как правильно его оформлять, какие давать названия переменным, функциям, классам, с заглавной буквы или нет, и так далее.
Анон, молю, накидай разного материала на эту тему. В данный момент пишу на питоне и C#, желательно что то приближенное к этим языкам.
Жаваскриптом в браузере расчитывай, он тебе и кнопку субмит нажмет в нужное время, будешь царём триплов
Какой же он ахуенный... этот чел уже больше года пилит свою DI-либу, каждый раз ему пишут что это хуйня без задач но он сука продолжает... мне бы такой стойкости
пикрил можешь адаптировать под реквестс, номер поста num
скорость хз, ищи в сорцах как двач вычисляет
питонист-говночист что-то кроме чистки параш делать должен? (хз прост пока не сталкивался с такими вакансиями)
Теперь и принт не выводит, разобрался, в пучарм надо настраивать envы.
Книжка про 2.6 и рассматривается 3.0 в сравнении.
Почитать можно, конечно, но это как-то через жопу в 2020.
Офк находится нужно в той же папке, в которой лежит файл или прописывать полное имя файла.
Ну так он и выдает результат просто в консоли, это ничем не отличается от того, что просто запущу ее в ide. Есть же наверное способы открывать программу в более "человеческом" виде. Мы ведь не открываем всё через консоль
Причем тут это. Ну я же могу скачать какую нибудь программу на питоне в интернете, открыть ее и работать просто в ней. Мне не нужно открывать ее через консоль, а потом там же работать с программой
>но при открытии файла на мгновение появляется какое-то окно и исчезает
Все верно, программа в свободном ее виде запускается без костылей иде, которая тебе в помощь по окончанию тормозит окно. Так что что бы оно работало самостоятельно, то и тормозить окно тебе нужно самому, например через input
>Причем тут это. Ну я же могу скачать какую нибудь программу на питоне в интернете, открыть ее и работать просто в ней.
Тогда тебе нужно что бы у тебя была настроена ассоциация расширения файлов, в шинде инсталлятор питона делает это автоматом, если ты не убрал галочку.
В линуксе тебе нужно в начале файла добавить строку #!/usr/bin/env python, а потом сделать этот файл исполняемым.
Я знаю что звучит тупо, но я только начал изучать это всё и реально не понимаю как некоторые вещи происходят. Как программа проходит путь от строчек кода в редакторе, до просто .exe файла, который запустит ее. Я знаю, что там вроде скомпилировать что-то нужно, но это вроде не к питону не относится, да и я читаю укус питона, и я конечно в самом начале, но еще так и не объяснили как мне именно сделать программу. Вот допустим я даже сейчас скопирую полностью код другой программы, вставлю в редактор, и что дальше с ним делать чтобы это приобрело вид обычной программы?
> Тогда тебе нужно что бы у тебя была настроена ассоциация расширения файлов, в шинде инсталлятор питона делает это автоматом, если ты не убрал галочку.
Вроде не убирал ничего. Это можно как-то проверить?
>>63096
> Все верно, программа в свободном ее виде запускается без костылей иде, которая тебе в помощь по окончанию тормозит окно
Получается он за секунду выводит мой hello word и тут же закрывает, так как программа выполнилась?
> то и тормозить окно тебе нужно самому, например через input
Как это использовать? Нашел в интернете только функцию input, в которую можно вводить информацию, это оно что ли?
>Получается он за секунду выводит мой hello word и тут же закрывает, так как программа выполнилась?
yup
Как это использовать? Нашел в интернете только функцию input, в которую можно вводить информацию, это оно что ли?
yup
>Вроде не убирал ничего. Это можно как-то проверить?
В винде это если по двойному клику на .py запускается программа и не появляется окно "открыть с помощью"
Написал инпут, теперь окно висит и ждет пока я введу что нибудь. Спасибо.
что нового в питоне 3.хх по сравнению с 2.7? Вижу, появилась огромная куча новых функций-методов. Немного поменялся синтаксис print. В остальном синтаксис совместим снизу вверх?
Ну какой вырастил, такой и укус.
Да
Ну вот ты такой важный синьер, а тут приходит буквально рокстар и тебя уже никто не слушает, а рокстар теперь улучшать начинает
Pep8
Лучше просто прими то что ты пишешь скрипты а не «программы», принт выводит именно в консоль, можно выводить в файлы или куда-то еще, твой скрипт просто читается сверху вниз и все, если тебе gui нужен, то ищи tkinter для начала
Принт просто выводит надпись в консоль, если тебе нужна потом консоль, то и запускай скрипт в консоли
Это вообще де факто и всегда так? или все же есть места, где НУЖНО потоки, и месте, где НУЖНО процессы?
я ведь могу ускорить программу путем введения с++ кода
в теории ведь, выходит, что я вообще могу через питон вызывать __только__ код с++?
Почему такой вопрос: есть проект на питоне, но его нужно постепенно переписывать на кресты. Имеет ли смысл начать вот с таких вставок и далее итеративно исключать питон код и врубать крестовый? или бред?
спасибо
>Это вообще де факто и всегда так? или все же есть места, где НУЖНО потоки, и месте, где НУЖНО процессы?
В идеале необходимости юзать процессы вообще не должно возникать, но питоне это приходится делать из-за ублюдочного GIL. В целом получается так.
Для веб-реквестов и прочих вещей, не требующих ресурсов процессора, нужно юзать асинхронность. Потоки нужно юзать при написании интерфейсов (где не требуются вычислительные мощности), или для ускорение задач, где основные вычисления выполняются внешней библиотекой, написанной на си. В таком случае GIL выключается, и потоки будут параллельно выполняться на разных ядрах процессора. Процессы нужно юзать во всех остальных случаях - когда необходимо ускорить вычисления, и главным ограничителем является питоновский код. Главные подводный камень - передача данных между процессами. При использовании потоков память общая, и ничего копировать не нужно. При использовании процессов, у каждого из них своя память, и любое общение между ними будет идти через жопу отдельный процесс-менеджер, что просто пиздец как медленно. Как итог, большое количество задач нельзя адекватно распараллелить используя процессы, поскольку копирование данных убьет весь прирост производительности. В таком случае остается только писать кусок кода на си.
У чего-то одного из двух общая память, у другого раздельная, гугли сам кароче и решай
res = Counter(res).most_common()
res.sort(key=lambda x:(-x[1],x[0]))
собственно почему в л\мбда выражении после определения переменной х, нужно переменные вывода указывать явным кортежем.
еСЛИ НАПИСАТЬ ТАК lambda x:-x[1],x[0])
ругается на аргументы
res.sort(key=lambda x:-x[1],x[0])
^
SyntaxError: positional argument follows keyword argument
Питон не может или не желает парсить лямбду после того, как заметит запятую, то есть
res.sort(key=lambda x:-x[1],x[0])
читается как
res.sort(key=foo, bar)
но в питоне keyword аргументы должны идти в конце, поэтому тебе выдается ошибка:
SyntaxError: positional argument follows keyword argument
со скобками fоo становится lambda x: (-x[1], x[0]) и получаем
res.sort(key=foo)
Нет
Конкретно в питоне:
Процессы для вычислительных задач, когда нужно использовать все ядра процессора
Треды для GUI и старых библиотек, которые не поддерживают asyncio, тут просто вариантов не остаётся.
Асинхронность (asyncio и может старые сторонние решения) для сети и управления внешними процессами.
В целом сейчас в первую очередь надо смотреть на asyncio, из asyncio ты можешь несложно вызывать пулы процессов и потоков по необходимости.
спасибо. догнал
Быстрофикс: есть число, которое я перевел в двоичный код. И в нем-то и нужно посчитать
Переводи в строку и считай, поразрядно сдвигай и проверяй, куча вариантов.
регекспами)))
В результате отработки появляются ненужные символы. Еще желательно было бы как-то сохранить заголовки.
з.ы. а чо с идеоном? не могу зайти.
хуй знает что там у тебя на ровном месте не парсится.
ones = sum([int(i) for i in n])
zeros = len(n) - ones
ones if ones > zeros else zeros
Попробуй так.
Спасибо. Не умею работать с pandas.
За 3 месяца изучения питона по 8 часов в день можно вкатиться? Хочу датасаенс с рекомендательной системой, но готов и быть джанго-макакой.
Всё что я делал это писал небольшие скрипты (прочитать из файла, изменить, записать в файл).
Свою предыдущую специальность смог же.
Написал, потому что не могу принять решение об увольнении. Правда, что есть программисты, которые работают 5 дней по 10 часов и получают 120к?
120к это вообще для человека без специального образования реально? Просто инженеграм даже с образованием для этого надо быть богом или как я - работать в заполярье
Бля.
Хочешь я расскажу как я зарабатываю 120к все равно рассажу
Я работаю в Норильске.
В ночные смены
Без выходных (1 выходной в месяц, но последние 2 месяца не давали вообще)
В среднем по 12,5 часов в сутки
Имею какую-то ответсвенность и постоянные дэдлайны
Ну и я имею крутое ВО, выигрывал оллимпиады по теории и мой дипломный проект оценила одна компания (и дала мне подачку в 100к рупий)
пездос, как ты так живешь. Я 2 года работал 2x2 по 12 и ахуел. это же тупо работа-сон-работа, потому что после 12 часов сил нет ни на что. Сейчас работаю пятидневку по 8 и в пт еще на час раньше ухожу, каеф. но я получаю 48к
А ты думаешь почему я хочу уволиться?
4 месяца так жил. Сейчас отпуск, вот на двощи зашел.
Встал в 19:00
Приготовил
Вызвал такси (ибо экономия 20 минут это важнее денег в моём случае)
На работе в 21:00
Отпахал. Нет дэдлайнов - ушел в 9:00. Есть - сидишь доделываешь.
Пришел - помылся или постирал, или убрался (можно выбрать только что-то одно).
Лёг спать.
Зато деньги большие для меня. В любом случае надо было заработать что-то для вката в прогерство. Да и я думал, что не зря же я ебашил в универе зря
Вполне реально, только искать будешь долго.
И тут я вспоминаю товарища одного, который "вкатился в МЛ" и сразу взяли на стажировку. Ну как вкатился, прошел 5-6 курсов. Высрал пару репозиториев с говнокодом на гитхабе. В этих репах запилил 2 парсера(объективно не готовых к продакшену) и одного ТГ бота(считывать параметры от юзера через кнопки и пошаговый ввод данных? Не. Парсить стену текста от юзер - наш путь). Ну и 4 проекта по МЛ. Ну как по МЛу. 2 проекта с юзанием готовых библиотек с распознаванием лиц - каскады Хаара и обученная модель для нейронки от кераса, а он только метод(найти_лицо) их дёргает да картинку выводит. 2 проекта в которых просто рисуются графики и диаграммы на основе данных из CSV файла. Больше нихуя и не знает.
Как так-то блять? Я искал работу бэкэндером 3 месяца, имея пару реальных проектов и почти год фриланса.
У меня есть PID процесса, как в питоне сделать окно этого процесса активным.
Например, запущено у меня 2 экселя. Excel.exe PID 1 и Excel.exe PID 2
вот как мне позвать по пиду 2 эксель, что бы он стал активным, и мог пиздить оттуда данные
Я думал имея год опыта фриланса, тебя должны были с руками оторвать? Ты, видимо, не в ДСах искал?
Ну и судя по твоему другу необходимо сразу стараться делать проекты. Нахуй эти алгоритмы и прочее.
Да, лучше начать делать минимальные апликухи, а потом додрачивать нужные знания
>не сможешь ты его продуктивно учить по 8 часов
Kek, я как то начинал читать учебник кантора по js, думал за три месяца его осилю, в итоге сдался как помню на половине, а на днях сидя по 14 часов прошел учебник Ала швейгера про автоматизацию на питоне, с решением задач, вот щас буду полировать классы и наследование с помощью учебника питона с w3school и писать прогу на pyqt и делать экзешник на нуитке, потом сделаю для проги сайт на какой-нибудь джанге или фласке, еще не выбрал. Питон как язык лично мне кажется проще остальных которые учил и бросал до этого, а именно плюсы, жс, котлин.
Хотя в основном это зависит от мотивации, по питону у меня есть желание написать кое-какую прогу себе на комп и я понимаю что это будет бытрее за счет пропуска байтоебства, поэтому и бросил читать плюсы для кути но указатели таки же освоил, а когда читал про жс, то не было видения что с его помощью хочу сделать. Так что считаю что в обучении главное держать перед глазами результат, это может быть законченная программа (которой или будешь пользоваться сам или поместишь в свое именное потрфолио на гитхабе, если пишешь калькулятор в стол то ответственности не чувствуешь а чувствуешь бессмысленность и бросаешь) или тест на сертификат.
Попробуй какую-нибудь библиотеку вроде pyautogui или pywinauto, там это говно все есть, хоть по пиду, хоть по заголовку окна.
В местныз ДСах искал. Но у меня не было "комерческого" опыта, на их взгляд.
>>63733
Безусловно, но надо делать хорошо, а не говно пилить без описания и прочего. Ну и если ты идешь в МЛшики но при этом у тебя примеры работ уровня "взял либу, применил, ничего не крутил в параметрах, вывел результат" - никто в зравом уме тебя не возьмет, ибо такое делается за пару часов изучения документаций opencv\numpy\matplotlib and etc.
Ладно, весь секрет знакомого был в том, что его взяли по знакомству, без собеса технического.
После того как я сделал локально гит пуш своих коммитов, есть ли какой-то способ прямо в коде видеть изменения с мастером? Т.е я создал ветку с мастера, сделал там свои изменения и локально запушил на удаленный сервак(затупил) в своей ветке.
А то сейчас много коммитов в разных файлах и не очень удобно смотреть где в файлах по 10к строк были изменения.
Пока что просто локально делал git reset soft и только так в файлах посдсвечиваются последние изменения, очевидно, что потом пушить это дело будет не шибко удобно.
Скажем так, когда я перевелся на удалёнку, то лишился ВНЖ, а этот банк требует европейского резидентства, которое по докам у меня заканчивается в следующем месяце и аккаунт могут заблокировать
Не, просто понял, что большая часть профитов европы мне не особо нужно, а жить на даче рядом с родным городом гораздо дешевле
Если в связанной записи из таблицы Б значение определённого поля равно определённой строке, то из таблицы В надо взять записи по айди, равному строковому полю из таблицы А.
Как это сделать в один запрос через SQLalchemy?
Если запрс солжны, рекамендуйт тупо SQL вызыватъ через sqlalchemy.text (или как там оно).
select В.*
from В
join А on А.field = В.id
join Б on Б.id = А.fk
where Б.field = '<STRING>'
МОжно конешн переипсать через ОРМ если очень надо.
Как вытащить повторяющиеся фрагменты логов?
# ####
# DATA
# ####
{
_"request": {
_"build_time": 1.12,
_"request": {
__"base": "-",
__"body": {
____"arg": "arg",
____"name": "Kevin"
__},
....
И такие фрагменты повторяются много раз. Я вот хочу вытащить содержимое body. И причем не обязательно что будет именно 2 аргумента или что будут имена arg и name.
Пока допедрил до такого
^# DATA(\s+.+){5} - оно съедает всё, до строки body. Вот и весь словарь мне надо получить. Подскажите что дальше делать?
Это строка
Это кусок файла. В нём намешано много всего. Просто так в json его не прочитаешь. Нужно вычистить необходимое, а потом да, читать строчку в json
https://github.com/vinta/awesome-python
Выбирай любой раздел, почитай примеры и делай сам, не сильно подглядывая
Надо смотреть что и как намешано. Поубивать лишнее, но в джейсон фрагмент не влазит.
Например если есть строчки с комментами, можно просто поубирать их
'\n'.join(x for x in x.splitlines() if not x.lstrip().startswith('#'))
Я вот скинул пример вышел. Там несколько тысяч фрагментов, которые извлечь надо. Это файл логов, там много чего есть. Есть и комментарии, которые не комментарии, а просто выделение участков лога. Есть и голый текст. Если и ненужные фрагменты json'a. Херачить всё, кроме нужного участка - такое себе. Но вот то, что есть что точно, так это следование нужного фрагмента после определённого блока. Поэтому и использую регулярки. Как-то помнил раньше, как взять первую пару скобок и вытащить всё до её закрытия.
Если там нет дополнительной вложенности, то "body": {[^}]*}.
Если есть, то надо рекурсивность, искаробочный re её не поддерживает.
Спасибо, добрый человек.
Что можно почитать по теме? Или это только с опытом приходит? Пока научился только разделять по отдельным файлам функции. Смотрю чужие проекты, там папки с handler's, middleware, tools, etc.
Всем привет. Есть небольшой репозиторий в котором нужно тесты из отдельных папок перекинуть в папку тесты. Можно ли как это в Пайчарме сделать по красоте? Там ведь импорты всякие и тд. Юнит тестов пара сотен, не хотелось бы вручную все делать. Спасибо.
А вот такое - colorthief. Пик2.
Я не очень понимаю, что происходит. Анон, помоги, пожалуйста.
Понял принял, пойду конвертировать.
Алсо, colorthief сам по себе использует PIL емнип, так что разницу результатов я вообще понять не могу.
Попробова с PNG, анон.
В colorthief получается всё та же картина, противоречащая колорпикеру Питона. А чисто через пил всё тот же бред, противоречащий здравому смыслу, который я вообще не понимаю, как интерпретировать. По идее должен был быть вывод типа
>defaultdict(<type 'int'>, {(00, 00, 00): 8, (125, 125, 125): и т.д.
Пик 3 - данные, с которыми работаю. Интересно, у тебя заработает?
Психанул и плюнул на питон, стал делать в Баше. Пикрилейтед. Похоже, ебучий Gimp пиздит. Как, впрочем, и ColorThief со своим Pillow.
А может пиздит imagemagick? Короче ад какой-то.
Сука, это ведь даже уже не смешно.
В основном это происходит когда пытаемся ипортировать из "высшей директории", например:
/.venv
/higher_directory
----/source
То есть когда внутри py-файлов делаем импорт вроде from higher_directory.source.messages import Message
Ну вообще пиздец. Анон, посмотри, пожалуйста, вдруг у меня что-то просто с софтом не так.
Ну в какой таблице, понь?
14 грей по таблице это 31,31,311F1F1F
21 грей по таблице это gray2154,54,54363636
По гимпу там пик2 и пик3 соответственно.
Ну нормально, спасибо.
Правда, немного другая кодировка, чем в imagemagick:
8,8,8 у тебя и
> (0.619195,0.619195,0.619195,255) #010101FF rgba(0.242822%,0.242822%,0.242822%,1)
в imagemagick.
15,15,15 у тебя и
> (1.21812,1.21812,1.21812,255) #010101FF rgba(0.477695%,0.477695%,0.477695%,1)
в imagemagick.
>>64364
Хм, примерно понятно. Интересно, в каком формате было это "12"?
Если верить https://www.kite.com/python/answers/how-get-the-rgb-values-of-an-image-using-pil-in-python , там должно было RGB выводить
>>64368
Ну вот я подозревал что-то такое, но думал в сторону таблиц цветов типа https://portal.tpu.ru/DITE/table_color/4?_piref1073_15345179_1073_1895249_15345176.tabstring=2
Это, я так понимаю, 8битная 256 цветовая greyscale палитра? Где-то есть такая таблица с позициями типа 12 и 21 и значениями RGB для них? Я пытался сейчас нагуглить, но что-то туплю.
Вообще с цветами впервые работаю, поэтому много тупки
Это, я так понимаю, 8битная 256 цветовая greyscale палитра? Где-то есть такая таблица с позициями типа 12 и 21 и значениями RGB для них? Я пытался сейчас нагуглить, но что-то туплю.
Да, у гифок фиксированная палитра с заранее определенными цветами.
Так даже лучше. Моя конечная задача - нахождение разницы высоты двух точек. И поиск используемых кодов нужен был мне именно для этого, я хотел ступенчатую таблицу запилить. А получается, что она уже как бы есть и запиливать даже не надо, лол.
Неразгаданными для меня осталось два вопроса:
1. Почему у двух разных цветов (см. ниже) одно HEX-значение, а именно #010101FF ?
Это вообще законно?
2. Почему RGB так по-разному кодируется в PIL, GIMP с одной стороны, и Imagemagick - с другой?
8,8,8 у тебя и
> (0.619195,0.619195,0.619195,255) #010101FF rgba(0.242822%,0.242822%,0.242822%,1)
в imagemagick.
15,15,15 у тебя и
> (1.21812,1.21812,1.21812,255) #010101FF rgba(0.477695%,0.477695%,0.477695%,1)
в imagemagick.
Мне требуется ваш совет, я даже готов заплатить за консультацию какие-то разумные MONEY
Ситуация: мне 27, я работаю начальником сервисной службы, зарплата в среднем 80-100к деревянных(пишу не для выебонов а что-бы вы понимали что речь дальше пройдет не про 300к наносек хочу)
Я начинаю выгорать на основной работе и хочу попробовать себя в программировании, для начала в качестве ХОББИ!
Но, поскольку я должен работать на основной работе, у меня в день есть максимум 2-3 часа свободного времени которое я могу ОСОЗНАННО, ВДУМЧИВО, выделить на своё ХОББИ.
А поэтому мне нужны максимально актуальные источники информации, как вкатится в Python, какие курсы купить, какие книги почитать, с чего начать?
Спрашиваю не потому-что не умею в гугл, а потому-что недавно обновили же Питона вашего и мне как новичку совершенно непонятно какая информация теперь является актуальной.
Пока юзаю Fructcode,но не уверен что это правильный выбор.
До этого ничего не программировал, немного умею в HTML CSS, английский на хорошем среднем уровне в технической области(так-как работаю с инструкциями на англ мове)
Пожалуйста, кому не лень проконсультируйте меня без рофлов.
Ну это же индивидуально. Я вкатываюсь по Automate Boring Stuff with Python (я пердолик и для меня это в целом актуально, постоянно скриптинговые задачи возникают), и через игроблядство (куча игр использует питон, плюс можно писать вспомогательные утилиты для игор на питоне, не связанные с кодбазой самой игры).
Подозреваю, что нужны какие-то дополнительные ключи для магика, чтобы он не дрочил картинку.
Это ты к первому или второму вопросу?
Алсо P.S. к первому вопросу: для сравнения, по Гимпу у 8,8.8 hex = 080808, а у 15,15,15 = 0f0f0f.
По imagemagick шо то, шо то = 010101.
1)Пердолик? не уверен что понял о чем ты...
2)Понимаю что индивидуально, но в любой сфере есть какой-то базис и середина золотая с которой можно стартовать.
Вот книга которую ты назвал, я её видел в рекомендациях к изучению, вопрос - она подходит для совсем нубасов?
Ко всем, видимо он делает какие-то преобразования, так что цвета уже не строго оригинальные, нет смысла сравнивать.
Надо курить документацию.
Попробуй бесплатные курсы по Питону (начиная с курсов для кольников) на курсере, открытом образовании. Можно даже на степике, но там порядочно ерунды всякой. Проходишь одинаковые курсы ради решения задачек и набивания руки. Где больше задачек, там и хорошо. Понемногу задачки усложняешь. За 2-3 часа можно решить их с десяток. За год поднатаскаешься достаточно сильно.
А пока едешь с работы и на работу, в телефоне читай учебники по Питону. Накачать их можно на рутрекере. Какие понравятся. Тут задача не в том, чтобы прочесть объём материала или прорешать тысячу задач. А чтобы понимание возникло. Поэтому, иногда книку можно бросить читать и начать другую - не все книжки подходят всем. Единственное что, не читай ничего по 2-й ветке Питона, коли уже третья на исход идёт.
А, ну вот, если твой колорспейс ргб убрать из команды, то кажет нормально.
На какой исход, норкоман?
Алсо, 2 ещё долго будет в виде легаси, знать тоже надо, тем более, что там не так много отличий.
> Но не у всех гифок, а у каждой своя.
Оказывается, нет. Для всех гифок такой битности и гаммы.
Пикрил.
Второпитон новичку не нужен совсем.
Ну это какие-то часто используемые пресеты, а так есть возможность любые цвета вхуячить, только ограничение на 256 штук максимум.
>2 ещё долго будет в виде легаси
Те, кто не переписал свои проекты на тройку после прекращения поддержки двойки - шизы и ретарды
Легаси на то и легаси, что автор спился и утонул десять лет назад, а у нас всё работает, но надо добавить вот такую хуйню.
В питоне вообще нет значений, только ссылки.
> 1)Пердолик? не уверен что понял о чем ты...
Пользователь операционной системы GNU/Linux.
> вопрос - она подходит для совсем нубасов?
Думаю, подойдёт, попробуй отпишись.
спасибо большое, буду пробовать
Прососать письку с бесплатной вышкой.
Программирование и питон это разные вещи. Причем если ты выучишь питон раньше БАЗЫ программирования вроде принципов работы компьютера или любой платы, двоичной системы, блок-схем алгоритмов и пр, то станешь кодомакакой. Поэтому советую материалы от нашего соотечественника, они конечно не про питон, а про то без чего питон бы и не появился в этом мире, но после их усвоения тебе зайдет и питон и любой другой язык.
кстати слышал, что эти книги очень хвалят
спасибо, что очередной раз подтвердил мою уверенность в их приобретении
годный совет анон, спасибо.
первую книжку уже начал читать, вторую скачал но начну после первой.
а как читаются кстати? трудно-сложно или можно по пути на работу в метро почитать?
я именно по пути на работу читаю, в электричке в 6 утра очень даже заходит и не срубает - лично меня.
говорю про первую...может вторая сложнее я не начал еще
круто, спасибо
а то вот уже 3 год работаю и все ощущение, что я макака а не прогер.
вообще что отличает макаку питониста от тру прогера питониста, а? аноны?
Ну хуй знает, автор весьма упорот и не лечится.
Я бы поостерегся учится по этому, а для общего развития можно и читнуть что он там насочинял.
Насочинял в смысле вообще, а не хуйню написал.
а кто-то читает sicp? лол
Так, все сложно то как, нужны годы, нет, десятилетия, нет, сотни поколений чтобы во всем разобраться. Начинать надо не с питона, отнюдь. Это только прелюдия, дело других поколений, хех, слишком просто.
Отложим питон, на пенсию. Начнем с азов, там все сложно же. Уйдут еще повторяю десятилетия. Итак. Есть компьютер, 0 и 1, транзистор, есть тока и нету тока, вкл и выкл. Он понимает только когда 0 и 1. Переведем ему, хмм, есть асм, так перевели, но процессоров по прежнему много, нужна кроссплатформенность, хмм, так, пускай будет еще и си. Так, вот есть железа, есть архитектура, придумаем операционную систему. Напишем, на асме, так нет, лучше на си. Готово. Так надо передать соощение другому компьютеру, так, придумали пару кабелей, создали сеть, разработали пару протоколов, вот у нас есть стек ОСИ или как там, похуй. Так, мы теперь знаем как работает ось, как работает интернет. На это ушло 100 лет. Завещаем изучение питона внукам. ОК.
кек
Разобрался, надо было стереть строчку #-- и конвертировать в utf-8 в кнопке статус бара.
Аноны, ваше мнение интересно (просто мнение, не реквестую никакх материалов)
Что по-вашему отличается питониста-макаку от питониста-программиста? Какие знания/качества ?
>Что по-вашему отличается питониста-макаку от питониста-программиста?
Отличает только определение настоящего программиста у спрашивающего. Кто-то считает, что если байты не пилил, тот не погромист, кому-то шелл-мага подавай, кто-то вообще матан требует.
Создавай новый аккаунт на гитхабе, заменяй мейл и имя в коммитах на фейковые и скидывай в тред
>платы, двоичной системы, блок-схем алгоритмов
Ненужная хуета. Учил их в 1987-90 году, с тех пор ни разу не возвращался.
Мне не хватает базовой сишечки и базового же матана, чувствую себя хуем. Ну и всяких алгоритмов можно на сдачу.
так я же и спрашиваю. Что по ТВОЕМУ мнению это значит
как трактуешь для себя понятие тру прогера, так и говори)
>оцените решение, сделол сам, никуда не подглядывал
Задачка очень простая, но решение не в одну строчку. Переделывай.
Мне надо реализовать добавление виджетов по нажатии кнопки. Без layout'ов, т.к. макет в QT дизайнере уже сделал, а с layout'ами дизайн становится максимально уебанским. Добавлять виджеты надо на ScrollArea.
Проблема:
1. Если я создам виджет в __init__, то все заебись, он создастся(пик2). Изменять характеристики я смогу в методах.
2. Если я создам виджет в методе, то QT будет чисто поебать и ничего не создастся.
Почему так? Как мне в методах класса создавать виджеты?
2.
Можно минусовать входное число через фор, хуй знает как лучше.
1. мне требуется найти уникальный пиксель на каждой из них
2. требуется найти 1 пиксель, который есть на каждой картинке
картинки открывают через pillow, при помощи numpy перехуяриваю в массив
результат в чем искать на пикриле
что делаю:
1. каждое изображение хуярю в матрицу
2. беру 1, 2,... пиксель из первой пикчи и проверяю на наличие его в других матрицах
3. если его нигде нет - уникальный пиксель
4. если он есть во всех. то собсно 2 пункт решен
где я обосрался?
Бампер.
сори, комерческая тайна
Бро, это я на псевдокоде накидал алгоритм действий
щас столкнулся с пиздецом - НАМПИ. опыта 0
картинка 27х27
np.shape(img) выдаёт ЭТО:
(27, 27, 4)
ля понятно что 27 строк и 27 стобцов. а что такое 4?
и еще, пытаюсь перебрать каждый элемент:
получается пикрил
а потом пытаюсь каждый элемент присунуть в обычный список: result.append(x)
и получаю
ValueError: The truth value of an array with more than one element is ambiguous. Use a.any() or a.all()
тыак блэт. нашёл .tolist() и превратил нампивский массон в путинский массон
щас попробую итерировать
27 * 27 = 729
в общем-то получилось получить все точки. щас удОлю дубли и получу что-то
хуй знает что делать дальше буду, но это для меня прогресс. без двача хуй справишься
Вычитай матрицы, хули тут тормозить...
да полюбому есть готовая функция. и разве спорю? я опыта ради полез разбираться во всей хуйне
НО! буду рад увидеть готовое решение в Bиде ссылки или примера itt
Пишу тестовый скрипт для селениума, создаю класс, в селф передаю объект браузера для того чтобы методы могли с ним работать.
В коде довольно много методов, и некоторые из них вызывают execute_script для выполнения js кода передавая одни и те же данные функции несколько раз.
Подумал соорудить примерно следующую конструкцию:
def __init__(self):
код код код код
self.exec_get_me = self.driver.execute_script("return get_me('%s')" % me)
Понятное дело эта переменная me появляется в коде значительно дальше, и поэтому когда конструктор пытается создать этот метод он выполняет функцию, и она завершается с ошибкой.
В общем вопрос такой, как заставить питон угомонится ежи и не выполнять функцию ?
бля короче забейте, я не буду на это время тратить, если я за сегодня так и не создам что-то рабочее я себя убью
Интерфейс для скрипта который будет генерировать определенные #rep для куклоскрипта, короче можно сказать что небольшая програмка для себя.
Понял, интересно, интерфейсы никогда не делал, графические то есть.
Благодарю за помощь, только проблема в том что суля по всему лейблы (тексты БАМП которые ты спавнишь кнопкой) и виджеты в PyQT - разные классы, соответственно имеют разные методы. Т.е. ты просто создаешь лейбл и через move двигаешь их.
А вот мне надо спавнить менно что виджеты, тот же QtWidgets.QCheckBox или QtWidgets.QLineEdit к примеру. Попробуй в функции их определить и вызвать и нихуя не будет, а вот в init будет. Почему - хуй знает, это меня огорчает и я хз что делать. Застрял на этом моменте и не могу дальше прогать, т.к. вообще жесткий тупик.
Конечно, погуглив, я примерно понял что если работать с layout'ами то может получиться, т.к. у лейаутов есть метод addWidget специальный, но мне лейауты как раз не нужны, т.к. сломается дизайн который я делал в QT designer без этих самых лейаутов. А как посредством лейаутов сделать такой же дизайн я хз, у меня не получилось.
Ебать. Так там же нет метода move, что за хуйня? Или там он ретурнит другой класс какой-нибудь...
А там етсь QLineEdit, QComboBox и QPushButton? Охуеть, что это за читерный класс где все есть? Ты ведь это все от QtWidgets заимствуешь?
Проверь пожалуйста. Если есть, то кажется решение проблемы найдено, я просто забью хуй на уебанский QtWidget
>я просто забью хуй на уебанский QtWidget
Хуйню под ночь стал нести. Вообщем, скорее всего это и есть QtWidgets, только ты другие методы какие-то используешь, я вообще хз откуда move там.
move принадлежит btn, ну а воще чтобы все доступные методы объекта просмотреть можно вызывать dir(объект)
я мимо если че
В общем, большое спасибо. Как проснусь и завершу все дела попытаюсь вновь окунуться в кьютомир, надеюсь у меня все главдко пройдет.
Хотя меня смущает что у мува нельзя выбрать ширину и высоту, но главное что класс вообще создается. Хотя у меня подозрения большие что если я буду опять создавать виджеты не на главном окне как делаешь ты, а на ScrollArea, то снова ничего не выйдет, но посмотрим.
ну поглядишь, я про шизу писал к тому, что наспамить их можно, а вот как их потом удолять, я не разобрался еще. может вообще отдельный класс чекбоксов создать с методами и его экземпляры уже спамить с коннектом к своим методам.
Беги, глупец!
Да блядь, ваш хауди хо тот еще пидор и петух. Бабки он рубит с ютаба и трафика, зыркал его последний видос, как обставлена хата. И его габочий день в кавычках. Ясно одно - это все куплено предками, програмистами - не рождаются, а делают програмистами родители, ибо в 18+ до 30 жить так с кодинга - либо ты дохуя реально вундеркинд, либо повезло, либо что ближе к реальности - предки башляют бабки, пока сына работает програмистом, спит до 2 дня и решаез зададачки на кодворзе по комбинаторике за 15 мин и страдает ожирением.
1,4 млн подписчиков на анале
хз пролистал и нихуя не увидел. у меня самого всё +- так же
в чем проблема поступить на бюджет и || подрабатывать? курсе на 2-3 можно на джуна вкатиться
было бы желание. и силы
> поступить на бюджет
уже проблема, с обратным - просто иди нахуй, не раз уже обсжудалось, что во - не просто дорого, не просто нахуй не нужно, а просто с ним даже ты просто нахуй никому не нужен будешь. Видел сколько юристов, экономистов, програмистов - за кассаой, в торговых залаз и тд.
>>65154
Ну да , про то и разговор. Он просто показал базовую хуету. Так могу и я по любому вообще япу. Но он это начала делать первый. Ну и не он один. Те он зарабатывает не кодингом, а просто сливает грамотно траф на волен хайпа по петухону и прочему. Я не знаю какой он как кодер, но как арбитран норм. Думаю этим он и знаимается.
> уже проблема, с обратным - просто иди нахуй, не раз уже обсжудалось, что во - не просто дорого, не просто нахуй не нужно, а просто с ним даже ты просто нахуй никому не нужен будешь. Видел сколько юристов, экономистов, програмистов - за кассаой, в торговых залаз и тд.
логика тех кто не работает. вышка нужна. не сами знания, а корочка. кто говорит обратное, тот либо пиздобол, либо дурак
простой пример: приходишь ты и вася. вы оба +- равны. но у васи вышка. а ты иди на хуй
аналогично и с перекатом за бугор. забудь про работу за границей без ВО
мой брательник закончил им баумана. работает и по странам летает. последний раз на кипре 3 мес. работал. куча примеров когда люди просто не получали работу и теряли шанс. если ты, дебил, не осилил даже ВО и пришел с 9 или 11 классами, то нахуй ты нужен?
нет, бывает что кому-то везет и его берут. но на это ставить не стоит
>>65140
И кстати это не офтоп и не шитпостинг. Выучить можно вообще все что угодно за час или полчаса. Вопрос в другом. Что потом с этим делать и как это монетизировать. Вот хауди и понял, что можно просто пилить обучалки на ютабе, и делать земейки на петухоне. Те он - просто псевдопрограмист, а считает себя програмистом. Если и прилетает с фриланса - то мб раз в год, остальное - бабки с ютаба, и заряжают паханы. Так жить - так живу уже люди после 40 кто копит годами на пяти работах. А он кстати - тупо учит англ даже по его словам. Те вряд ли он трет с заказчиками. Это пиздец госпоад и наебка.
добавлю. сестра работает в хорошей компании. зп ~100к дс2 что для бабы считает довольно много. +хороший ДМС и разные соц. помощи. она вышла замуж и ей 50к накинули в компании
так вот, была вакансия на конструктора чего-то там. с обучением. и ин.язу бы обучили. но СТРОГО с ВО. то есть каким бы ты не был ауенным перспективным сотрудником, если ты без ВО, то идёшь просто на хуй
ПРостой пример, на заводе все с во, у всех универы. Но работают кто слесарями, кто станочниками. Те они получили во по профилю и они не востребованы от слова вообще. Те - да, для галочки во нужно, но и оно не помогает, если нету мам, пап, волосатых лап. Я к тому, что не нужно вводить людей в заблуждение. Кто с во, получит норм работу 1 на 100, те 99 будут стоять за кассой.
хз зачем ты что-то там серьезно анализируешь. это контент школьного уровня. ты смотришь в лайтовой форме и если тебя заинтересовало - берешься за книги, поступаешь в вуз. да и всё
Да нет не все. Проблемв будет не только поступить, но для начала - сдать ЕГЭ, если сдал, а это уже подвиг, надо будет найти бабки, причем нехуевые, если эконом, и то что востребовано, то надо просто овердохуя бабок на поступление. И вот ты поступил. Как-то чудом закончил, за бабки, и вот, ты на рынке, где тонны таких же как ты дебиков. И вот, 1 на 100, тебя не выбрали, по итогу, ты за кассой или в торговом зале, раскладыавешь товар.
Нужны бабки, сдать ЕГЭ, на ноуты, качественную технику, на образование, на проживание, если ты из далека и еще тонны нужны денег, плюс подработки и еще овер дохуя инфраструктуры. И еще , нужно соображать, причем быстрее, лучше и эфективнне других. Те нужно
бабки,
много бабок
айкью выше чем у други,
тк к бабкам нужны родители, норм генетика и много чего еще.
> контент школьного уровня.
только вот школьник хауди хо живет далеко не как школьник. И конечно он добился всего сам, только кодингом, и показывает нам не только дни из жизни тру програмиста, но и как живет и как обставлена квартира програмиста. Так, школьник, квартира програмиста, ЧТОооо блядь? Ну норм челк в 20 лет заработал кодингом уже свою хату, спит до 3 дня, и страдает ожирением. Решает задачи по комбинаторике за 15 минут. Норм живут школьники.
Ну вот шоу рум парня который всего добился сам, на фрилансе, на заказах, с забугорными заказчиками
https://www.youtube.com/watch?v=vRUjJKztpzw&t=490s
У него там один шкав и один "компьютер"
Те посмотрите просто сколько техники, и оцените приблизительную стоимтость всего этого. С учетом что челу даже 30 нету.
Вы просто посмотрите как он живет, оцените стоимость техники, жилья, и сколько нужно на такой образ жизни. И чел позиционирует себя как фрилансер, пилил ролики как делал заказ на фрилансе, в реальном бою, но заказ брал - не из-за бугра, а у нас, а это рубли. То есть как надо пахать, чтобы так жить на рубли и за рубли. Цены видели? Так вот, а он еще только учит англ язык. То есть он не может даже общаться с заказчиками.
А уже так живет. И конечно он всего доблся сам. В 20+ до 30 лет, спит до 3 дня, кодит, купается джакузи, и решает целыми днями задачки на кодворзе по комбинаторики. К слову, у меня в 20 лет даже компа не было кек. Те у всех равные возможности. способности, стартовые площадки. Все честно ребята.
>Вы просто посмотрите как он живет, оцените стоимость техники, жилья, и сколько нужно на такой образ жизни.
Живёт он как скотина в бараке. Только обставился очень дорогими гаджетами (для показа больше, чем для использования по назначению). Вместо того, чтобы сделать жильё уютным и удобным - сделал образцовый свинарник с брильянтовыми корытами. Так Ашоты живут - спят на гнилом матрасе в три поколения, зато на тонированной низкой вишнёвой Приоре и с золотыми браслетами.
Фейкомыло:
Как обычно - решить тестовое задание, а потом вам скажут что вы не подходите, а задние окажется реальным тз, которое анон взял на бирже, решил с вашей помощью, и заработал капусты.
Неплохая схема, подобное делают и на биржах копирайтинга, что удвитиельного. Потом пишут что написал хуйню - прощай.
____ b = []
____ a = s.split()
____ for x in a:
________ b.append(len(x))
________ return min(b)
Почему когда я набираю в ipython у меня все работает, и выводит мин элемент массива, а когда я делаю функцию выводит первый элемент. И это не первый раз уже. Обычно дропаю такое, но надоело, хочу понять в чем прикол. Пробовал также и while. Так то все работает. Но в функции - нет.
У тебя return min(b) отрабатывает на первой итерации цикла. Всё правильно, а ты проёбываешь отступы
Добавить ещё len и будет то, вроде очевидно.
> Без layout'ов, т.к. макет в QT дизайнере уже сделал, а с layout'ами дизайн становится максимально уебанским.
Зря ты так. Что ты будешь делать при изменении размеров окна? Запретишь менять размер окна? Или вот, как раз твой случай, при добалении/удалении виджетов? В ручную менять размеры и координаты? Родина дала им лэйауты, размещай виджеты, радуйся, нет, они хотят жрать говно
У меня дизайн фиксированный, я запретил увеличивать и сжимать окно. И вообще лэйауты сильно ограничивают в дизайне, я вообще не понимаю как с ними что-то изобретать. Они все виджеты уравнивают.
>при добалении/удалении виджетов
Я их затем и добавляю на ScrollArea чтобы потом скроллинг припаять (если получится) когда за зону они выйдут.
тебе либо нужен list.append, либо инициализировать arr2d заранее с нужным количством элементов, [0] * 3 == [0, 0, 0] фича пригодится
В arr2d только один элемент, при i=1 упадет.
Т.е. arr2d должен быть заполнен? Нельзя просто так в него скидывать значения?
lst = []
lst.append(1) # ok
lst[0:0] = 1 # ok? не помню, должно работать
lst = [*lst, 1] # ok но создает новый список
>[0] ⚹ 3 == [0, 0, 0] фича пригодится
С этим надо поосторожнее, если элементы массива это изменяемые объекты, например, другие массивы. Вот нужна матрица [[0, 0, 0], [0, 0, 0], [0, 0, 0]], если просто написать matrix = [[0, 0, 0]]*3, то в matrix будет храниться не три разных списка, а три ссылки на один и тот же список, то есть, если потом написать matrix[0][0] = 2, то получится [[2, 0, 0], [2, 0, 0], [2, 0, 0]], а вовсе не [[2, 0, 0], [0, 0, 0], [0, 0, 0]]. В таком случае, лучше писать что-нибудь вроде matrix = [[0 for i in range(3)] for j in range(3)]
>самого культового
В 2009 году?
После последующих высеров, это второй по отвратительности после гугла производитель.
йех, я думал написать про это, но мне было лень
я бы написал [[0] * 3 for _ in range(3)]
или создавал row в цикле, заполнял его и добавлял в конец arr2d
>И вообще лэйауты сильно ограничивают в дизайне, я вообще не понимаю как с ними что-то изобретать. Они все виджеты уравнивают
Так принято при создании интерфейсов, чтобы виджеты укладывались в определенную сетку, это не значит, что они все одинакового размера, просто должны быть общие линии, по которым они выравнены. Можно задавть максимальные и минимальные размеры для виджетов, можно много всяких настроек в лэйауте менять, можно вставлять лэйауты в другие лэйауты.
>Я их затем и добавляю на ScrollArea чтобы потом скроллинг припаять (если получится) когда за зону они выйдут.
Тебе же приходится в ручную рассчитывать координаты и размеры нового виджита, чтобы он не плюхнулся куда попало. А в лэйауте просто пишешь добавить виджет - он и добавляет.
Ладно. Может потом переделаю интерфейс с учетом лэйаутов и вкину сюда как сравнение до/после.
Может быть, тебе будет полезно почитать про Model-View в Qt. Там есть модель, где хранятся данные, есть вью, который отображает данные, например, таблица или список, есть делегаты, которые определяют внешний вид и возможности конкретного элемента. Так можно организовать добавление-удаление однотипных элементов
Ну список списков хочу. Из обычного списка хочу получить двумерный, ну
ты хочешь из обычного массива проиндексированный сделать чтоли
типа [[1, 1], [2, 2], [3, 4]]
где первое значение является индексом в массиве ?
Да, именно так
ну а если ты хочешь повыебываться то
>>> index_massive = []
>>> massive = ["A", "B", "C", "D"]
>>> id = 0
>>> for i in massive:
... index_massive.append([id, massive[id]])
... id = id+1
>>> index_massive
[[0, 'A'], [1, 'B'], [2, 'C'], [3, 'D']]
Ты где-то видел в требованиях вакансий сертификаты курсов? Скинь, поржём. (Но есть подвид курсов от компаний, по типу как EPAM набирает в моем вузе студентов годик походить на свои курсы, а отличившихся берёт к себе на работу.)
Нет, вообще, хотя в мухосранях может и прокатит
Не требования. Если у меня, к примеру, будет сертификат - поможет ли это с устройством
> МФТИшный курс
В чем разница этих двух курсов? Какой лучше слушать, если нихуя не знаешь? Алгоритмы?
2020
Поясню что хочу: заполнить матрицу arr из списка l. У меня на пикрил значение tmp3 постоянно перезаписывается и я получаю матрицу забитую девятками.
Не понимаю почему так происходит. Ведь tmp и tpm2 должны же меняться и в матрицу должны падать новые значения? Сорямба, я новичок.
Я тоже новичок, но у меня вроде получилось. Попробуй так, хотя, я не уверен, что тут уместно использовать enumerate, если у тебя и так значения в l идут по порядку.
for i, v in enumerate(l, start=1):
... lt.append(v)
... if i % 3 == 0:
... arr.append(lt)
... lt = []
Бля, всё поехало.
lt = []
arr = []
for i, v in enumerate(l, start=1):
___lt.append(v)
___if i % 3 == 0:
______arr.append(lt)
______lt = []
Есть массив. Как ходить по нему сверху вниз и снизу вверх? Написал код https://ideone.com/8F1jks. Но почему-то он мне дает пройти туда-сюда только два раза, а потом перестает. Подскажите, кто знает.
все, разобрался сам.
https://www.codewars.com/kata/53dbd5315a3c69eed20002dd
решил так
https://www.codepile.net/pile/qyxgGp8Z
Тесты проходит, когда жмякую Attempt у них виснет сервак или что там, хз, что они в тестах какие значения подставляют. Но три примера у меня в ипутоне как бы прошли.
Начнём с того, что твоё решение, какое-то дюже мудрённое. Нихуя не понял зачем нужно n, while, remove
Закончим на том что оно не работает, к примеру для пустого list'а
https://www.codepile.net/pile/ZE85QYD8
проверка на пустой список тоже не помогла но спасибо.
Ну просто решил потренировать while, циклы вот это все. Они видимо какую-то нех подставляют в тестах, так то проверка проходит только рандомные тесты или как там у них - нет. Я не еебу что они подставляют туда. А три примера что у них проходят. Ну будут думать дальше
>Ну просто решил потренировать while, циклы вот это все.
Ну это же не значит, что их нужно херачить куда-угодно.
>проверка на пустой список тоже не помогла
Я сказал например, а не только.
>Я не еебу что они подставляют туда.
Ну например ["a"]
Да. на самом деле. Странно, что если в массиве одна строка или несколько то виснет, с цифрами инт все норм. По идее, цикл и задает проверку, если есть строка, то ее нахуй из массива. НО вот почему не удаляет странно.
Нельзя модифицировать список во время итерации, норкоман.
>НО вот почему не удаляет странно.
Удаляет, в этом и проблема. Фишка в том, что комплюктер делает то, что ты написал, а не то, что ты задумал. Пойми что ты написал.
Не совсем элегантно, но вот:
def filter_list(lst):
___tmp = []
___if len(lst) == 0:
______return tmp
___for i in lst:
______try:
_________tmp.append(abs(i))
______except:
_________continue
___eturn tmp
Зачем тебе проверка на пустой лист. И найди способ чекать элемент покрасивее
Зачем вы всё время городите какие-то велосипеды, всё уже придумано для удобства таких операций.
[n for n in lst if isinstance(n, int)]
Когда как ни при обучении городить велосипеды?
Ты такой умный, анон, ты получил целых 2 очка на сайтике, как бы мы без тебя справились
Перед этим стоит научиться понимать, что пишешь.
Также как и ЦЕПЬ АРГО.
def filter_list(l:list) -> list:
....return [i for i in l if isinstance(i, int)]
спасибо сработало. Но я зато потренировал циклы и поучился.
tmp и tmp2 не сменятся пока tmp3 не переберет все элементы массива. Попробуй 5 и 7 строки местами поменять.
Не двачую, плохой совет
Отвратительно, вместо одного прохода, целая сортировка.
Отвратительно, вместо одной строки, целых две.
Как мне замокать его?
Есть метод, в котором я подготовил имитацию заменённого объекта
типа
def another(self):
____a = A()
____a.x=1
____return a
Сам вызов объекта идет так
a.sync()
Как замокать его, чтоб он заменялся на тот, что вырнется из def another?
Слишком сложно, я пока с пикрила начал.
PATH directory_with_pip;directory_with_python;%PATH%
Или переустановить python на более поздние версии, в них инсталлятор сам всё должен сделать
> просто хотел бекенд
Бекенда нихуя на фрилансе нет, бизнес логику мимокрокам обычно недоверяют
Манятно. Спасибо за ответ!
>Лучше скажи что сделать?
>Добавь pip в PATH или запуска его по абсолютному пути
Тебе сказали что делать. Прям два варианта.
>ЫЫЫЫЫ пип не работает, чо бля делать? Гуглить не умею, книжки читать тоже, видео сматреть долга
>Учу питон, планирую получать 150к через 2 месяца.
Потому что расхайпленный инфоцыганами язык, хули ты хотел
Потому что на сях ты через два месяца будешь сосать хуй.
согласен. после этого треда создается ощуение, что питонисты это обычные макаки, котороые джангу свою дрочат и все
>>66628
хотя сам питон, не смотря на все его недостатки, гибкий пиздец
я на нем писал от хуйни, которая общается с платой по кастомному протоколу, до ебобобы, которая генерит меш по показаниям двух камер
коллеги с работы делают вообще ебецову штуку с рассчетом динамики многостепенного механизма
да долго (дольше крестов), да не оптимально в некоторых местах ( я про менеджмент памяти)
но свободы пиздец
искренне люблю язык и от того горит с тухлости треда и "ыыы кодворс не могу осилить ыыы как перебрать массив и как учить жангу ик пук серьк"
Мне начать с Математики и потом только начинать Python или там он не так необходим?
хз, у меня математика на уровне тех. вуза. Еще ни разу не пригодилась. Вкатываюсь уже 3 недели
Потому что основы питона учатся за 2 часа, а гибкость самого языка позволяет писать хуиту хует. Отсюда и элементарные вопросы от тупиц, которые не знаю элементарных вещей, души которых любой си или кресты ебал бы на самом старте изучения языка.
Вкатываемся на скалу посоны
Спроси в их треде
Бухгалтера вкатываются.
540x960, 0:10
Напиши для начала калькулятор как бы это банально не звучало. А в метро что-нибудь почитывай. По-моему субьективному мнению, практика у тебя должна занимать 80% твоего времени, теория 20%.
Если уж бросаться из крайности в крайность, то лучше уметь писать работающий код и не знать как он работает, чем наоборот.
Очень хуевая затея писать из под винды. Вместо написания кода, будешь бороться с этой ос) Поставь Linux 2 системой, привыкай.
Если ты только обучаешься, то это наоборот хорошо. Если по работе, то первый жизненный урок получен - проверь, не написал ли кто-нибудь велосипед до тебя.
>>66631
Сейчас все хотят вкатиться в новые специальности, в программирование и машинное обучение. В год китайской летучей мыши особенно стало актуально, "агент туристической индустрии" больше не модно и не очень перспективно.
Соответственно очень много случайных людей, не умеющих программировать совсем, кто книжку по базе питона не удосужился прочесть и т.п.
Это не значит, что серьёзные программисты и серьёзные на питоне не пишут. Если бы не писали, не было бы такого хайпа вокруг языка.
А в плюсы случайный человек сейчас не полезет.
Кстати именно в веб направлении всё адекватно. Веб не очень удобно на питоне делать, относительно сложно, вкатываться скорее идут через JS и PHP.
да конечно, говорю же, язык топ
по возможностям можно с крестами сравнить в целом-то, конечно, насколько я знаю, нет управления памятью (ну мб advanced shit какой-то, но хз), зато можно сишный код вставлять
короче питон топчик, я вообще не базарю ничего
немного не радует рынок труда - реально все в вебе практически (либо не там ищу). И так как я пишу на питоне, но от веба далек из-за специфики компашки, то грустно (не люблю веб, люблю ШИМ на питоне моделировать)
Их надо гуглить, вспоминать и заново учить принцип работы. Намного проще работать в стандартном методе без лишнего напряга мозга.
automated boring stuff например
>>66734
у меня из средств программирования только ноут с виндой и винду я удалять не хочу потому что дрова под нее есть а под линукс не всегда, я конечно искал как поставить линукс дуалбутом, но там есть риск похерить мне всяки таблицы если нарукожоплю а идти мне потом с этим некуда, и раз я не нашел убедительного гайда, то отложил эту затею
>>66751
Оооо, братишь, выглядит жоска. ИИ тренируешь тама?
Оно же, если надо.
https://pastebin.com/DcWPx7fU
r добавь перед строчкой с регулрякой.
Эту глянь.
Можно поставить либо виртуалку, либо докер (если у тебя win pro). Хотя там какая-то возня при этом всё равно есть.
Просто пока ты просто на голом питоне с модулями что-то делаешь, то ок. А когда начнёшь использовать внешние системы, вроде БД, redis, rabbit и т.п., то будут проблемы.
Лучше как-нибудь докер под виндой поднять для этого.
>порежу колбасу вилкой, а то еще нужно гуглить как ножом пользоваться
Ну в принципе вилкой и правда легче будет если вилкой не научен. Иногда консервативный склад ума просто мешает новое повторить, т.к. болезненно.
Точнее наоборот все.
Не умею в эту turtle, но зачем у тебя так сложно, когда можно
t = 0
while t <= 360:
____turtle.forward(1)
____turtle.right(1)
____t += 1
Спасибо, посмотрю что зад окер.
Тут полярные и обычные координаты вообще не при чём.
turtle работает иначе, там система отчёта это сама turtle. turtle имеет текущее местоположение и поворот. forward(1) означает "продвинуться на 1 пиксель вперёд", любое float значение может быть. right(1) означает "повернуться на 1 градус вправо".
Какие полярные координаты вообще?
прошли чуть вперёд, повернулись. Ещё чуть вперёд, опять повернулись. В сумме надо развернуться на 360 градусов. Если нужна окружность нужного радиуса, то надо за эти 360 градусов поворота пройти 2pi*R вперёд.
Позвали на собеседование на тестировщика-автоматизатора на Python. Как думаете стоит ли оно того, если я в большей степени хотел backend-программистом стать?
Учу Python 3-4 месяца всего
Сам решай, но тебя позвали пока на собеседование, а не на работу. Ещё не факт, что предложат работу.
И вот совсем не факт, что так просто устроишься на бекенд без опыта работы.
На собес, мне кажется, в любом случае сходить стоит. Вот особенно когда ты в этой работе не очень заинтересован, очень полезный опыт. Там уже надо смотреть на то, что на этой работе делать и как, полезна ли она тебе. ХЗ что там делать надо. Может реально полезная для прокачки скиллов, плюс опыт работы.
Ты так говоришь, как будто тебя гарантированно примут. Собеседование лишним не бывает, подготовься, сходи, вежливо побеседуй, возьми контакты, перекинься шуточками с няшной hrшей или тимлидшей. Или еще год будешь свой пипон зубрить в отрыве от реальности?
ты вот это сказал, чтобы просто что-то сказать или как? ты конечно можешь заебашить через свои декартовы - без проблем. Юзай свои ебливи форварды и прочее говно
я вот с черепахой вообще дело не имел, но даже такого валенку как я хватило 2-х минут гугления, чтобы
1) узнать как делаются полярные координаты в вашей это черепахе (давай, удачи черчения кардиойди своими форвардами)
2) узнать про команду goto(), с помощью которой это делается ИЗЕЙШЕ
досвидания, разберись сначала с темой
Высоконагруженные системы, backend, iOS, Android, Desktop тестировать надо. По факту в основном дрочить на Selenium.
Но я тоже считаю, что лучше сходить на собеседование, чем нет.
а если не секрет, это что за история? в унике или какой-то курс?
это плохо
я сам таким очень грешу, но поверь такому же itхикку - лучше сходи
к первой работе ты никогда не будешь готов на сто процентов: везде свой стек, свои архитектурные решения, подходы
так что знакомитсья нужно как можно раньше со всем этим
> написал как уебан, сорян
Есть такое.
Для тебя вот этот код >>66920 очень сложен? Ты думаешь, можно сильно проще, не используя библиотечный circle?
По-моему ты просто хочешь закосить за умного. А по факту ведёшь себя как неадекват. Будет другая задача, будут и другие системы координат по необходимости. А в конкретно этой задаче НЕ НУЖНО, только хуже будет.
что ж, могу только признать свою ошибку. Действительно так тоже очень просто
справедливости ради скажу, что с полярными не сильно сложнее, но, в целом, это тоже гуд
> Будет другая задача, будут и другие системы координат по необходимости. А в конкретно этой задаче НЕ НУЖНО, только хуже будет.
такое , если задача учебная - имхо лучше решать так, чтобы знать больше, а не решить побыстрее
> По-моему ты просто хочешь закосить за умного
ну если для тебя полярные координаты это "для умных", то сорян, не был готов к такому уровню. Полярные мы и в школе проходили
Пулярную?
import turtle
import math
r = 100
t = 0
while t <= 6.28:
____x = math.cos(t) r
____y = math.sin(t) r
____turtle.goto(x, y)
____t += 0.01
сильно сложно и умно ? icq выше 228 надо иметь?
ну я признал, что проебался и так проще, кто ж спорит
надеюсь никого тут своими радианами не обидел
но чисто имхо, так нагляднее, потому что ты сразу видишь функцию и понимаешь, что собсна она далает + параметры видно
ну короче забей, если цель проще - тот вар лучше
лучше скажите, что лучше: компилить проект или пихать в докер?
интересует скорость работы и что по памяти? докер же наверное побольше будет весить
>сильно сложно и умно ? icq выше 228 надо иметь?
Решение с багом, нужно сначала выставить точку на окружность, чтобы не было черты из центра (в других решениях тоже надо бы, там просто окружность смещена, но хоть визуально рисунок корректный).
6.28 было бы лучше записывать как 2*math.pi, раз ты модуль math всё равно импортируешь.
И заметь, в оригинале никаких декартовых координат не было вообще. Исходный автор делать x,y, но они не использовались у него совсем.
Докер контейнер, так как процесс изолирован. А памяти он будет жрать столько, сколько ты ему скажешь.
спасибо, братишка
import turtle
import math
r = 100
t = 0
accuracy = 0.01
turtle.penup()
while t <= 2 math.pi:
___x = math.cos(t) r
___y = math.sin(t) * r
___turtle.goto(x, y)
___turtle.pendown()
t += accuracy
сильно сложно и умно ? icq выше 228 надо иметь?
вообще очень интересно получается
смело сделаю предположение, что этот модуль используется далеко не в сложный комерческих проектах, а для себя и своего обучения
и возникает вопрос: а надо делать проще или так, чтобы чему-то научиться? ну сделал ты ыыы форвард ыыыы райт, и что? вот если человек не знал, про полярные координаты, то он имеет возможность применить "золотое" правило программиста "вот когда понадобится, тогда и выучу". Ну вот, понадобилось, почему бы не написать на 4 строчки больше, но разобраться в такой несложной теме?
Но уж если проще, то , ребят, проще вообще не заниматься программированием в целом, найдите работу полегче
да кст, прибавлять точность нужно тоже в цикле - проебался
>лучше скажите, что лучше: компилить проект или пихать в докер?
Вообще это совершенно разные вещи для разных вещей.
Если ты компилируешь, то ты получаешь standalone сборку, которую можешь запускать без дополнительных установок чего-либо.
А докер-контейнер нужно запускать в докер среде, её надо ставить, ставить соответствующие образы, собирать и т.п.
Для разного совсем.
При этом памяти на процесс докер отъедать не будет, если под линуксом. Потому что докер это скорее система управления базовыми линуксовыми возможностями виртуализации, а не какая-то тяжёлая виртуальная среда. В винде надо много, потому что там что-то вроде виртуального линукса в довесок поднимается.
В общем для настольного применения лучше компилировать, для линкус-серверов лучше докер образы, имхо как-то так.
Еще проблема, твоя черепашка страдает аутизмом и всегда смотрит вправо, когда чертит окружность.
Не нравится.
Идея turtle вообще в том, что это робот, которым ты управляешь. Ты же превращаешь тупо в курсор, это концепции turtle противоречит.
Чисто по логике кода некрасиво смотрится pendown() в цикле, когда реально он должен быть вызван один раз. Может тут и нет никакого перерасхода и ничего не ломается, но вот мне это как-то несимпатично.
Ну и, наконец, не понятно, что ты пытаешься доказать. Да все знают про то, что можно кучу разных систем координат использовать. Те, кто с тобой спорят, уж точно знают.
ну мне как-то похуй
Потому что это изолированный процесс. Во время сборки контейнера еще могут выполняться различные тесты, проверки на CI, а потом выкатывать в какой-то ECS, кубер, etc, где нет такого понятия как выделенная машина под сервер, а конкретно работа с контейнерами.
ну в целом я не вижу ситуации, что кто-то кому-то пытается что-то доказать
я тред по питону в дваче всегда воспринимал как обмен информации в неформальном стиле
вот мы, формально, и общаемся на тему того, как решить эту задачу
собсна все
а что насчет спора с системами координат, так автор вопроса сам сказал, что их не знает, что в целом тоже абсолютно нормальная история. и все , что я хотел сказать - посомотри ВОТ НА ЭТО - оно полезно
то есть или 4 или 6 цифр, пишу так \d{4} вроде норм, но не получается в одном выражении указать или 4 или 6. Только получается 4. Как сделать в одном выражении?
Докер позволяет делать образы, которые с одной стороны стабильны, с другой стороны их легко править под себя. Позволяет легко настраивать их, в первую очередь подключать файловые системы, настраивать порты ничего не меняя в приложении вообще, докер-сети и т.п., делать сборки из докер-контейнеров (docker-compose) и т.п. Вот на этом докер взлетает. На серверах это актуально. При этом держать докер систему на сервере в любом случае полезно.
Просто идейно, ты разделяешь среду исполнения, питон и его модули (это образ, тяжёлый контейнер) и своё приложение, которое на нём построено, это другой, лёгкий образ.
А вот держать докер только ради одного приложения в одном контейнере в принципе неправильно. Он не для этого и неудобен в таком варианте, и плюсов никаких, одни минусы.
А ЧО ЛИКБЕЗ
между прочим, для тренировки очень прикольно
Лол, это одно из первых упражнений у геддиса в самостоятельных заданиях. Кстати для новичков с нуля супер охуенная книга.
>обучения
>IDE
Не надо с детства давать ему говна. Я не говорю, что какой-то вим нужен, но начинать явно стоит с vs code
Я слишком тупой чтобы его повторить через лейауты.
Мне кажется он до дробности доебывается, хз. Типо там по пизде может пойти когда по +0,1 прибавляется.
Именно
> лэйауты сильно ограничивают в дизайне
лэйауты позволяют создать любой желаемый дизайн (хоть фиксированный хоть динамический), не уравнивают а раздают пространство учитывая sizeHint(), например если в QVBoxLayout будет QTableView и QPushButton лэйаут отдаст сколько нужно кнопке а табличке отдаст оставшееся место. Если хочется растянуть кнопку можно полиси поменять и она будет растягиваться по вертикали, если хочется таблицу зажать можно таблице maximumSize задать, если нужно в какой-то пропрорции свободное место раздать можно layoutStretch задать. Без лэйаутов дизайн гарантированно будет ущербным.
VS code тоже IDE и тоже тяжеловатая.
Пытаюсь на него с вима переучиться.
Для обучения мне кажется IDE вообще противопоказана, она слишком сильно думает за автора, когда надо учиться думать самому. Для работы да, для обучения неправильно.
Нужен просто какой-то редактор с подсветкой синтаксиса, автотабуляцией, и всё. Вот как вим, но с привычным для нормальных людей управлением, не как у вима.
У тебя окружность не дорисуется до конца, Перельман.
Саблайм
Ты ебнулся? vs code не ide. Профилировки нету из коробки, дебага нету из коробки. Весь функционал разбит по расширениям. По памяти можно сравнить. У меня пайчарм по 4 гига съедала после индексации
Писать программы на языке программирования Python.
Рекомендую ознакомиться с примерами использования или доками перед тем как делать что-то новое чтобы не недоумевать.
A scroll area is used to display the contents of a child widget
within a frame. If the widget exceeds the size of the frame, the
view can provide scroll bars so that the entire area of the child
widget can be viewed. The child widget must be specified with
setWidget()
Если пэрентить от scroll area скроллов не будет, нужно задавать пэрентом self.widget() кроме того нужно вызывать show() чтобы виджет стал видимым.
https://pastebin.com/VacpWF1P
Чёт не изи, хнык
Благодарю. Попробую без неё.
Фриланс, фуллстек вебдев.
>>67076
Интервью не то слово, один из этапов скрининга, решить три задачи на codility за 90 минут, из дома.
Она уже была у меня решенной, потому что знакомый, который проходил туда же до этого, дал мне условие заранее. Остальные две задачи, одну я решил сам, решение другой нашел в википедии лол.
>>67076
Хотя идейно понятно, реально нужно сравнивать пересечение последнего пройденного участка с участком либо на 3 шага до него, или, отдельный частный случай, за 5 шагов до него. Что очень быстро и просто.
В принципе в условии подсказка, что решение должно быть очень простое, раз сложность O(N) и расход дополнительной памяти O(1). Ёмкие решению хотя бы логарифм добавляют.
Всё-таки неправильная задача, особенно для веба, и если сразу решение предъявить. Это надо быть настроенным решать алгоритмические задачи "на подумать" и уметь их решать в такой обстановке.
Похоже на правду, насколько я помню, я довольно быстро додумался до основной идеи и сложности были с проверкой пересечения. Позже я наткнулся на статью, где для этого использовалось векторное произведение, что было намного проще, чем мой код.
>>67092
Там необязательно было решать все три, кстати, можно было пройти с 2 из 3.
Питону насрать, как ты там что сохраняешь
print(a1.read(100))
Нет, для мобилок тебе нужны Swift/Obj-C, Java/Kotlin или Dart+Flutter.
Мимо25лвлбезобразования.
Я знаю, но если это все или есть ещё одна, две, то питон явно не для мобилок.
Справедливый вопрос. Для чего питон? Что на нем можно делать? Если изучать мобильные приложения, то там ты на собеседование идёшь с несколькими готовыми. Игра/менеджер, будильник/калькулятор/ридер и т.д. А с чем идут на собеседования питончики?
За готовое задание готов даже заплатить, но у меня до стипухи лишь 400 рублей осталось, но я вам их отдам!
> Для чего питон? Что на нем можно делать?
- десктопные приложения, например Calibre или Anki, хотя я смотрю последний переписывают на rust.
- data science / машинное обучение.
- автоматизация всякой фигни, например, например flexget написан на питоне, программа для трэкинга и скачивания торрентов фильмов, сериалов, комиксов и прочего.
- написание прототипов по-быстрому, появилась идея, хочешь побыстрому проверить ее, у питона найдутся библиотеки или биндинги к ним для чего угодно.
- про веб ты уже знаешь
Курс по робототехнике с вуза, книжка только физическая копия. Там и книга не нужна для решения, главное знать что левый сенсов контролирует скорость левого колеса, а правый - правого.
Introduction to Robotics: Mechanics and Control
John J. Craig
http://www.mech.sharif.ir/c/document_library/get_file?uuid=5a4bb247-1430-4e46-942c-d692dead831f&groupId=14040
Что насчет препятствий, обработки коллизий, вижу также там источник света и сенсоры. Это все только ко второму заданию? Препятствия судя по тексту никак не влияют на интенсивность света?
Как я понял по лекциям, сенсоры отвечают каждый за свое колесо. Когда нет препятствий - оба колеса на условной скорости 1, а когда левый сенсор замечат препятствие дистанция до препятствия меньше 1 метра или типа того - скорость правого колеса пропорционально уменьшается и машинка чуть клонится вправо. По мере достижения не знаю как нормально написать препятствия скорость колес меняется и одно колесо может стать нулем и машина будет поворачивать вокруг своей оси. На теории вроде хуйня, на деле нихуя не смог. И да, в первом вроде не надо со светом играться, лишь препятствия обходить.
Сенсоры отвечают за противоположные колеса, соре. Если левый считывает препятствие, то он замедляет правое колесо и т.д.
Коллизия не учитывается, тут идеальная симуляция. Нашел уже готовый проект, но там замудренно, еще и автор GUIзапилил и я не смог его реверснуть в проект попроще.
https://www.youtube.com/watch?v=rHbEy0DIrEk
http://www.codeskulptor.org/#user40_EEIxkOtKog_1.py
невидимый вайтспейс где-нибудь например, стирай и делай заново
А юзал бы пробелы, сразу было бы ясно.
усука
Как присвоить значение конкретной ячейки в pandas
Атр1 Атр2
А 0
Б 0
С 0
Значения в столбце "Атр1" уникальные. Нужную мне строку получаю обычным кодом:
df[df['Атр1'] == Б]['Атр2'], как присвоить этой ячейке значение вместо нуля.
У него табуляции.
дали задание написать rsa шифратор дешифратор, делал по етому гайду http://www.michurin.net/computer-science/rsa.html
столкнулся с такой проблемой, при выборке числа e программа тупит, то выдавает неверные значения, то вообще стопится.
вот сам код https://dumpz.org/aGgAMdRnAfHx, да код хуйня все дела, но в чем проблема? при дебаге на этой строчке while (simple(e) != 0) and (gcd(phi, e) != 1): код проверяет только первое условие с функцией simple, при этом скипает второе с функцией gcd. сап аноны
там есть такое, везде табуляция была, переписал код блока проблема исчезла
please
simple(3) равно 0, твой while брейкается на 0 != 0
false and whatever всегда false, поэтому gcd и скипается
Логика этих строк неправильная:
>while (simple(e) != 0) and (gcd(phi, e) != 1):
>____e+= 1
Ты хочешь найти простое e,
(i) оно должно быть простое,
(ii) оно должно быть меньше φ
(iii) оно должно быть взаимно простое с φ;
Я кстати не понимаю, по идее iii + i означает, что φ не делится на i. Зачем так сложно тогда? Хотя по-моему в RSA не нужно, чтобы оно было простым, достаточно взаимной простоты с функцией Эйлера.
Но смотри на свой цикл. Пока число простое и не взаимно простое с φ, пробовать следующее число.
А тебе нужно нужно перебирать цикл до тех пор, пока у тебя число ИЛИ составное, ИЛИ не взаимо простое с φ.
Ошибка в логики поиска.
у меня в условии - пока число НЕ простое и НЕ взаимно простое с фи
>пока у тебя число ИЛИ составное, ИЛИ не взаимо простое с φ
нужно же юзать И нет? допустим фи = 110 а е = 11, получается е не составное, но и не взаимно простое с фи. в таком случае твой цикл прервется, хотя е будет подобран неверно.
спасибо анон
Потому что я его 2 день учу....
но применять я так и не научился
вот допустим пишу проект
правильно было бы в случае с ООП разбить функции тупо на 2класса:
- в первый впихнуть всю работу с очком(окном)
- во второй впихнуть всю уйню связанную с определением и поском цвета на экране
или я так ничего и не пыня-л?
хуй тебе и твоей матери бляди за щеку
Почему pip list не работает?
Через консоль напиши py -m pip list. В шелле он все написанное воспринимает как непосредственно код.
Спасибо за совет.
Но кстати >>> help ("modules") отрабатывает и в шеле. Это касается только встроенных модулей?
Все модули выводит.
Просто скорее всего в сурс код не заглядывал в питоне уже заранее определена функция "help" которая в качестве аргументов принимает текстовые хуйни. И при получения "modules" она подключает библиотеку pip либо как-то по другому, не смотрел, еще раз., и внутри себя вызывает функцию пипа которая ответственна за выведение в консольку модулей.
Новый тред ведь есть.
Это копия, сохраненная 22 апреля 2021 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.