Сохранен 505
https://2ch.hk/pr/res/1867362.html
24 декабря Архивач восстановлен после серьёзной аварии. К сожалению, значительная часть сохранённых изображений и видео была потеряна. Подробности случившегося. Мы призываем всех неравнодушных помочь нам с восстановлением утраченного контента!

Питон тред №106 /python/

 Аноним 27/11/20 Птн 23:09:58 #1 №1867362 
cover.jpeg
34072591101563426238038344233791645851582464o.jpg
Тред, посвящённый языку программирования Питон, #106

Предыдущий: >>1861583 (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
Аноним 27/11/20 Птн 23:11:28 #2 №1867367 
Пайтон быстрее какого веб-фреймворка?
Аноним 27/11/20 Птн 23:11:32 #3 №1867368 
Питон говно.
Аноним 27/11/20 Птн 23:14:47 #4 №1867373 
Как присвоить значение конкретной ячейки в pandas
Атр1 Атр2
А 0
Б 0
С 0
Значения в столбце "Атр1" уникальные. Нужную мне строку получаю обычным кодом:
df[df['Атр1'] == Б]['Атр2'], как присвоить этой ячейке значение вместо нуля.
Аноним 27/11/20 Птн 23:18:48 #5 №1867384 
Для чего вам питон? Что вы на нем делаете?
Аноним 27/11/20 Птн 23:19:48 #6 №1867386 
>>1867384
Парсеры и выгрузки в csv.
Аноним 27/11/20 Птн 23:22:09 #7 №1867394 
>>1867384
Качаю вебм и вайпаю треды.
Аноним 27/11/20 Птн 23:26:46 #8 №1867398 
>>1867386
Для чего парсеры и эти выгрузки?
Аноним 27/11/20 Птн 23:27:45 #9 №1867403 
>>1867384
А я на нём пишу программы
Аноним 27/11/20 Птн 23:28:43 #10 №1867406 
>>1867398
Дла варзон треда в /brg/.
Аноним 27/11/20 Птн 23:34:59 #11 №1867414 
>>1867384
Пытаюсь писать парсеры и ботов для торговли. Надоело все руками смотреть
Аноним 27/11/20 Птн 23:38:25 #12 №1867418 
>>1867357 →
Логика этих строк неправильная:
>while (simple(e) != 0) and (gcd(phi, e) != 1):
>____e+= 1

Ты хочешь найти простое e,
(i) оно должно быть простое,
(ii) оно должно быть меньше φ
(iii) оно должно быть взаимно простое с φ;
Я кстати не понимаю, по идее iii + i означает, что φ не делится на i. Зачем так сложно тогда? Хотя по-моему в RSA не нужно, чтобы оно было простым, достаточно взаимной простоты с функцией Эйлера.

Но смотри на свой цикл. Пока число простое и не взаимно простое с φ, пробовать следующее число.

А тебе нужно нужно перебирать цикл до тех пор, пока у тебя число ИЛИ составное, ИЛИ не взаимо простое с φ.
Ошибка в логики поиска.
Аноним 27/11/20 Птн 23:42:47 #13 №1867420 
>>1867356 →
Видимо были, раз переписывание помогло.

Вообще, использовать табы плохая идея, с ними много проблем. Все библиотеки, примеры и фреймворки используют пробелы, в стандарте 4 пробела на отступ.

Намаишься с этими табами.

С детства табы ненавижу, как и всех, кто придумал логику на них строить - со времён makefile для сишечки.
Аноним 27/11/20 Птн 23:49:39 #14 №1867427 
>>1867418
>simple
>простое
Хах, даже в голову не пришло, что речь про простые числа, когда смотрел на код, несмотря на наличие gcd.
Аноним 27/11/20 Птн 23:57:03 #15 №1867431 
>>1867403
Что делают программы?
Аноним 28/11/20 Суб 00:02:53 #16 №1867440 
>>1867418
у меня в условии - пока число НЕ простое и НЕ взаимно простое с фи
>пока у тебя число ИЛИ составное, ИЛИ не взаимо простое с φ
нужно же юзать И нет? допустим фи = 110 а е = 11, получается е не составное, но и не взаимно простое с фи. в таком случае твой цикл прервется, хотя е будет подобран неверно
Аноним 28/11/20 Суб 00:43:11 #17 №1867469 
> Вот, пожалуйста, та же самая программа, но переработанная под язык Python: http://composingprograms.com/

кто-нибудь смотрел? показалось, что она покороче (или я слепой просто). Если есть цисп под питон, то топ же, а то в свое времяз забросил из-за схемы как раз
Аноним 28/11/20 Суб 00:50:21 #18 №1867472 
>>1867384
>Что вы на нем делаете?
Очевидный дата саенс.
Аноним 28/11/20 Суб 01:15:30 #19 №1867477 
>>1867469
Пролистал быстренько. Не понятно, сначала много примитивной воды, ну совсем примитива, и где-то внутри даётся при этом что-то из теории, про функции высшего порядка и т.п., что уже совсем не вода, если это не изучал.

Про СИКП ничего не знаю, но по идее там большой упор на теорию компиляторов и т.п. должен идти. Здесь этого нет, при этом в третьей и четвёртой главе идёт разбор Scheme, примеры на ней и т.п. Что не нравится, хотелось бы уж что-нибудь чисто про питон.

В конце про конкурентное программирование, но как-то в устаревшем ключе, в стиле мютексов, хотя сейчас больше принято всё с упором на очереди делать и этот принцип проектирования, чем прямые блокировки исполнения. Об asyncio, конечно, ни слова, всё-таки старый текст судя по всему.

Не знаю, что-то там содержательное есть в части алгоритмов и некой теории вокруг функций, но прямо чем-то must read я бы этот материал не назвал. Но в целом там есть, что почитать, если именно в контексте теории программирования и на питона.

А так я бы сам не прочь что-нибудь умное почитать.
Аноним 28/11/20 Суб 01:39:06 #20 №1867479 
>>1867477
> А так я бы сам не прочь что-нибудь умное почитать.
Python. К вершинам мастерства - Лучано Рамальо
Аноним 28/11/20 Суб 09:44:15 #21 №1867573 
Небольшой оффтоп. Есть кто удаленно работает? Если я подключусь сначала через свой впн к Европе, потом подключусь через рабочий впн к рабочей сетке, заметят ли в моей конторе, что я не в европке? Насколько дропнется скорость? Нашёл работу за бугром, но сказал им что уже нахожусь в Европе.
Аноним 28/11/20 Суб 09:55:01 #22 №1867575 
>>1867573
Да всем похуй, скажи что впн в рашке купил.
Аноним 28/11/20 Суб 09:56:09 #23 №1867577 
>>1867573
Но это конечно тупо пиздец, я даже хихикнул с такого маневра.
Аноним 28/11/20 Суб 10:03:30 #24 №1867580 
>>1867373
Ребят, подскажите пожалуйста.
Аноним 28/11/20 Суб 10:12:12 #25 №1867587 
>>1867472
для чего? Что дата саенсите и зачем?
Аноним 28/11/20 Суб 10:15:14 #26 №1867588 
>>1867373
df.loc[df['Attr1'] == 'A', 'Attr2'] = 2
Аноним 28/11/20 Суб 11:20:31 #27 №1867616 
1500745055742.png
Аноны умоляю помогите сделать хотя бы 1 задание!
Аноним 28/11/20 Суб 11:21:05 #28 №1867617 
>>1867573
Тебе нужен дедик. Ну либо ооочень грамотная настройка. Очевидно, ты не шаришь, так что они спалят. Вопрос, не похуй ли им?
Аноним 28/11/20 Суб 11:30:22 #29 №1867622 
>>1867616
Тебе сказано в задании, переведи formulation которые вы изучали в предыдущих лекциях в код. Это жеж просто.
Аноним 28/11/20 Суб 11:39:07 #30 №1867627 
>>1867622
На лекции мы изучали, что левый сенсор отвечает за правое колесо, а правый - за левый. Чем ближе сенсор к препятствию, тем пропорционально меньше скорость у соответствующего колеса. Но я тупой и не могу это сделать в питоне. Готов заплатить! но из вчерашних 400 рублей осталось 318, но я отдам их вам
Аноним 28/11/20 Суб 11:48:46 #31 №1867635 
>>1867627
создай тему на лолзтиме, может кто-нибудь сделает за 300р и лайкусик на профиль
Аноним 28/11/20 Суб 11:54:59 #32 №1867642 
>>1867367
Быстрее 1С
Аноним 28/11/20 Суб 11:56:57 #33 №1867643 
15973430701761.jpg
Анончик, дай пожалуйста идею для проекта с использованием асинхронного фреймворка и очередей (Kafka/RabbitMQ). Может быть у кого-нибудь было похожее тестовое задание
Аноним 28/11/20 Суб 11:57:56 #34 №1867645 
>>1867635
> на лолзтиме
Это че такое?
Аноним 28/11/20 Суб 12:04:33 #35 №1867649 
>>1867643
Если полезный то хз, если просто что бы пощупать то можно что нибудь типа такого
Есть веб форма, в которую заносятся значения, по значению генерируется отчет в виде пдф, который может скачать пользователь. Нужно написать приложение разделенное на два сервиса, веб морду и генератор пдф, общаться должны rpc на реббите, потенциально отчетов может быть очень много и сервис генерации ПДФок поддерживал создание какого угодно числа инстансов.
Аноним 28/11/20 Суб 12:10:21 #36 №1867650 
image.png
>>1867627
>Чем ближе сенсор к препятствию, тем пропорционально меньше скорость у соответствующего колеса.
#пиздец ты тупой
StartDiff=abs(SensorXYposition - TargetXYposition)
StartSpeed = 10
цикл движения в сторону сенсора
____выясняем где находится цель
____обновляем свои координаты в нужном направлении плюсуя к ним скорость
____NowDiff=abs(SensorXYposition - TargetXYposition)
____NowSpeed = (StartSpeed x NowDiff) / StartDiff
Аноним 28/11/20 Суб 12:15:41 #37 №1867652 
>>1867650
Спасибо, вроде понял. Еще вопрос, как с помощью matplotlib нарисовать препятствие с радиусом 3? Нашел только как точку ставить.
Аноним 28/11/20 Суб 12:44:34 #38 №1867661 
>>1867643
Тебе для веб вариант или не для веб? Для веб много классических.

Пример на пощупать из бекенда, проверка на доступность каких-то хостов с помощью ping, или сайтов через http запросы.

Соответственно у тебя один сервис генерит задачи и суёт их в очередь, другой сервис, пул воркеров, делает работу и записывает отчёт в другую очередь, третий сервис (или он же первый) делает отчёт, может быть дополнительные задания даёт.
Аноним 28/11/20 Суб 12:46:28 #39 №1867663 
>>1867652
Какой-то кек, что даже лол.
Аноним 28/11/20 Суб 13:44:12 #40 №1867693 
>>1867588
Спасибо, анон, так просто все.
Аноним 28/11/20 Суб 14:06:48 #41 №1867700 
Пытаюсь пообщаться с одним ботом через ngrok (то есть со своего локального сервера). Бот находится на Хероку, попытался отправить ему запрос и получил это:

ReadTimeout: HTTPSConnectionPool

То есть как будто ответа не было вовсе и таймаут закончился. Это может быть связано с тем что я запустил ngrok через http а Хероку на https? Или это тут ни при чем?
Аноним 28/11/20 Суб 14:20:58 #42 №1867707 
Вкатывальщики, сколько часов в день вы выделяете на обучение? Сколько теорию слушаете/читаете, а сколько код пишете?
Аноним 28/11/20 Суб 14:59:45 #43 №1867718 
>>1867707
По желанию. Очень много информации мозг тупо не успевает обрабатывать и запоминать. 2 часа в день с головой достаточно. Со временем, когда у тебя будет больше опыта, ты будешь информацию уже легче воспринимать, потому что будет база.

Я как-то 2 недели каждый день по 10-12 часов учил все, в итоге по туторам, книжкам, доке я могу все сделать, а сам че-то написать не могу. Взял передышку на месяц и через месяц когда мозг дефрагментировал всю информацию, пришло понимание всего, что учил.

И больше пиши разного кода, читай разный код. Хорошо помогает взять какую-то либу, которую написал какой-то уебан очень плохо и переписать ее под себя, например, по пути дебажа его код и смотреть его реализацию, используя знания, которые ты получил, например при изучении паттернов проектирования.
Аноним 28/11/20 Суб 15:05:51 #44 №1867721 
есть такой ndarray ndarray-ев
temp.shape - (600, )
temp.shape - (300, ) для любого i in range(600)
Как превратить его в ndarray с shape = (600, 300)?
Аноним 28/11/20 Суб 15:18:19 #45 №1867723 
>>1867721
https://numpy.org/doc/stable/reference/generated/numpy.concatenate.html
Пробовал? Также те, что в see also.
Аноним 28/11/20 Суб 15:21:39 #46 №1867724 
В чем я хуй, посаны.

Простейший код.
url = r.choice(df[df['Pars] == 0]['Ref'])
html = get_html(url, driver)

В url пихает рандомную ссылку напротив которой есть 0. Все работает от 5 до 250 ссылок. Но периодически происходит такая ошибка.

Traceback (most recent call last):
File "C:\Projects\pd\lib\site-packages\pandas\core\indexes\base.py", line 2895, in get_loc
return self._engine.get_loc(casted_key)
File "pandas\_libs\index.pyx", line 70, in pandas._libs.index.IndexEngine.get_loc
File "pandas\_libs\index.pyx", line 101, in pandas._libs.index.IndexEngine.get_loc
File "pandas\_libs\hashtable_class_helper.pxi", line 1032, in pandas._libs.hashtable.Int64HashTable.get_item
File "pandas\_libs\hashtable_class_helper.pxi", line 1039, in pandas._libs.hashtable.Int64HashTable.get_item
KeyError: 22014

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
File "C:/Projects/pd/pars_PS_airs.py", line 27, in <module>
url = r.choice(df[df['Pars'] == 0]['Ref'])
File "C:\Program Files\Python\Python38\lib\random.py", line 291, in choice
return seq
File "C:\Projects\pd\lib\site-packages\pandas\core\series.py", line 882, in __getitem__
return self._get_value(key)
File "C:\Projects\pd\lib\site-packages\pandas\core\series.py", line 989, in _get_value
loc = self.index.get_loc(label)
File "C:\Projects\pd\lib\site-packages\pandas\core\indexes\base.py", line 2897, in get_loc
raise KeyError(key) from err
KeyError: 22014

KeyError постоянно разный. Что не так? Ведь это всего лишь код, который берет случайную переменную из столбца ДатаФрейма.
Аноним 28/11/20 Суб 15:35:46 #47 №1867728 
>>1867700
Читать до полного просвещения https://automatetheboringstuff.com/2e/chapter11/
Аноним 28/11/20 Суб 15:37:27 #48 №1867729 
>>1867707
2 дня непрерывно, 1 день теория и микропрактика, 2 день код. Потом неделя отдыха и поновой. Я пришел к такому варианту как самому продуктивному на данный момент. Собственно в таком варианте я успеваю заниматься языками, другой работой и распиздяйством.
Аноним 28/11/20 Суб 15:57:12 #49 №1867740 
>>1867573
Тебя спалят на моменте, когда надо будет перечислить зп, если у тебя нет евросчета
Аноним 28/11/20 Суб 16:23:40 #50 №1867748 
test
Аноним 28/11/20 Суб 17:55:10 #51 №1867800 
>>1867573
>>1867740
Я вот тоже не понял, каким образом анон собирается счёт себе делать для зарплаты. Для работодателя перевести что-то в Россию отдельный гемор, в Европе без ВНЖ счёт открыть нельзя.

Работодателю может быть похер, где ты находишься физически, раз всё равно удалёнка, но вот эти моменты ни разу не похер.
Аноним 28/11/20 Суб 19:06:04 #52 №1867819 
15348530467510.jpg
Может ли фильтр у джанговский орм не найти объект во время сохранения (.save()) этого объекта? Влияет ли на это уровни изолированности БД?
Аноним 28/11/20 Суб 19:25:43 #53 №1867827 
>>1867800
Да там даже на уровне заключения договора вопросы должны возникнуть, обычно просят айдишку, если он сказал, что имеет гражданство/ПМЖ Евросоюза, ему только пукнуть на эту просьбу останется
Аноним 28/11/20 Суб 20:42:08 #54 №1867885 
>>1867728
Какой к черту "дебагинг", животное? Там таймаут на респонс истекает, сечешь? Ответ со стороннего апи вовсе не приходит
Аноним 28/11/20 Суб 21:33:11 #55 №1867933 
>>1867575
Не. Как раз не похуй. Менеджер сказал, что там следят потому что индусики сьебали в свои аулы с европейскими зп и не торопятся возвращяться. Ну им зп и пересчитали на местные.
Аноним 28/11/20 Суб 21:49:56 #56 №1867961 
>>1867933
>платить среднее по региону, а не за выполненную работу при том, что ее объем не изменился
Пидорахи какие-то
Аноним 28/11/20 Суб 22:00:42 #57 №1867970 
>>1867617
Поясни за дедик? Настройки впн нет на моей стороне потому что это их рабочая машина, там Cisco vpn он не конфигуруется никак.
Аноним 28/11/20 Суб 22:07:03 #58 №1867976 
>>1867740
Это как раз сделано. Я на знакомого оформил аккаунт, уже получал первую зп. Ему отдаю % на налоги.
А вот им как раз важно, чтобы я работал из Польши тупо. Хз почему, но такие правила. Я туда прилетал за ноутбуком. Потом улетел в Германию и сказал что оттуда поработаю немного. Сейчас я обратно в России. Но чувствую без впн спалят. Холп.
Аноним 28/11/20 Суб 22:07:05 #59 №1867977 
>>1867970
Ты как бабки собрался получать, дедик?
Аноним 28/11/20 Суб 22:07:44 #60 №1867978 
>>1867976
Потому что санкции, бро. Из РФ сейчас во многих компаниях запретили работать, в том числе и из оккупированных РФ территорий.
Аноним 28/11/20 Суб 22:08:35 #61 №1867980 
>>1867961
Я тоже удивился, но там компания с главным офисом в сша. Может оттуда идут эти правила.
Аноним 28/11/20 Суб 22:10:00 #62 №1867981 
>>1867978
>из оккупированных РФ территорий.
Это какие? Которые хохлы не вернули?
Аноним 28/11/20 Суб 22:10:25 #63 №1867983 
>>1867978
Да это не только для россиян. Говорю же даже сами полячки из моей команды все вернулись из Испании. Может это с лицензиями или радонами связано, но их и индусов вернулись. Я слышал что это новые правила идущие из сша.
Аноним 28/11/20 Суб 22:12:35 #64 №1867986 
>>1867983
>полячки
Хохлы^2
>вернулись из Испании
Perfectamente, пидорнули хохлоскам
Аноним 28/11/20 Суб 22:22:18 #65 №1867994 
В общем помогайте пожалуйста питонята, поможет ли двойной впн или какой ещё вариант работать из России, подключаясь к рабочему впн как из Польши?
Аноним 28/11/20 Суб 22:25:31 #66 №1867997 
>>1867994
Погугли vpn cascading, может поможет
Аноним 28/11/20 Суб 23:44:39 #67 №1868068 
>>1867994
Попробуй спросить в софтаче в обходе блокировок треде.
Аноним 29/11/20 Вск 09:34:59 #68 №1868261 
8086D63E-2D91-4D5D-9DA9-03E67733773D.jpeg
Мнение очкошника. Глаза лгунишки, бегают по сторонам. ☝️☝️☝️
Аноним 29/11/20 Вск 10:23:22 #69 №1868278 
1546920562883.png
1463583504747.png
1532919673544.png
1 - задание
2 - инструкция
3 - решение

Вопрос: правильно ли я описываю действие для последней клетки? Мне почему-то кажется, что можно сделать проще, а не то же самое прописывать для неё одной.
Нормально ли использовать not или надо по-другому?
Аноним 29/11/20 Вск 10:38:45 #70 №1868283 
image.png
открыл для себя новый подводный камень
Аноним 29/11/20 Вск 11:39:01 #71 №1868314 
5a8eaf34043ea3443.jpg
>>1868283
Аноним 29/11/20 Вск 12:13:01 #72 №1868338 
>>1868314
ни разу неочевидно
очевидно было бы, если бы e оставалось таким, каким было, или захватывало бы исключение
Аноним 29/11/20 Вск 12:53:11 #73 №1868357 
петон худщий язык программирования ящитаю.
Аноним 29/11/20 Вск 14:08:41 #74 №1868403 
>>1868338
Вообще вызывать подобные переменные вне контекста их объявление - bad practice, так делать не надо. Все равно что обращаться к i за пределеами цикла for где итерирование шло по i
Аноним 29/11/20 Вск 14:19:26 #75 №1868410 
>>1867362 (OP)
Как в пистоне создать несколько пустых объектов за раз?

По типу такого:
a, b, c, d = ''
e, f, g, h = []
Аноним 29/11/20 Вск 14:24:24 #76 №1868414 
>>1868283
Имени внутри конструкции трай кетч присваивается ссылка на новый объект, затем, при выходе из конструкции, имя и и объект уничтожаются. Всё верно
Аноним 29/11/20 Вск 14:26:57 #77 №1868417 
>>1868410
Только как
e, f, g, h = [], [], [], []
Аноним 29/11/20 Вск 14:27:08 #78 №1868418 
>>1868278
Откуда таска, анончик?
Аноним 29/11/20 Вск 14:28:17 #79 №1868420 
>>1868417
Понял, спасибо.
Жалко, конечно, что нельзя ещё минималистичнее, но всё равно в одну строчку уже хорошо.
Аноним 29/11/20 Вск 14:29:32 #80 №1868423 
>>1868420
Излишнее стремление к минимализму - зло
Аноним 29/11/20 Вск 14:29:46 #81 №1868425 
>>1868420
Если тебе надо дохрена таких переменных, то стоит задуматься о правильности твоего подхода и использовать вместо этого словарь
Аноним 29/11/20 Вск 16:02:26 #82 №1868510 
>>1867362 (OP)
А как какать читать длинные опции, подаваемые в скрипт?
getopt читает, я так понял, только односимвольные, а если мне нужны опции --cocksucking или вообще что-то вроде --version==5.2?
Аноним 29/11/20 Вск 16:23:51 #83 №1868532 
>>1868425
>>1868423

Да мне просто нужно в начале модуля создать несколько объектов пустыми, чтобы затем функции оперировали ими как глобальными. Я бы не сказал, что если запихнуть их в словарь, будет проще и минималистичнее. И было бы неплохо, если бы в языке реализовали такое:
e, f, g, h = []
Аноним 29/11/20 Вск 16:31:58 #84 №1868537 
>>1868532
Операции со словарем простые и нативные по своей сути
Аноним 29/11/20 Вск 16:50:21 #85 №1868559 
>>1868510
https://docs.python.org/3/library/argparse.html
Аноним 29/11/20 Вск 17:07:00 #86 №1868565 
fmp,xsmall,gloss,walltexture,product,750x1000.u2[1].jpg
https://dumpz.org/b7zddN4Fxy9b

парсер разметки оп-поста
Аноним 29/11/20 Вск 17:15:31 #87 №1868566 
>>1868565
Прикольно. Это только на дваче сработает или на других вакабах тоже?
Есть идеи, что ещё можно для борды полезного реализовать?
Аноним 29/11/20 Вск 17:36:11 #88 №1868581 
>>1868566
Скрипт под двач, но сам класс парсера должен работать везде, где такая же разметка
Аноним 29/11/20 Вск 17:47:33 #89 №1868591 
>>1868566
> Есть идеи, что ещё можно для борды полезного реализовать?
скрипт, который будет фиксить соотношение сторон картинок в каталоге
Аноним 29/11/20 Вск 17:57:06 #90 №1868597 

>>1868591
Что-то не вижу в этом ничего полезного - ты в каталог заходишь на пару секунд. Это скорее к верстателям двача или создателям кастомных цсс
Аноним 29/11/20 Вск 17:57:42 #91 №1868598 
image
>>1868591

Ты же про этот каталог?
Аноним 29/11/20 Вск 17:57:57 #92 №1868599 
>>1868420
a, b, c ,d = [[] for _ in range(4)]
Аноним 29/11/20 Вск 18:00:13 #93 №1868601 
>>1868599
a,b,c,d = [[]] * 4
Аноним 29/11/20 Вск 18:07:32 #94 №1868609 
Screenshot from 2020-11-29 18-06-34.png
>>1868601
epic fail
Аноним 29/11/20 Вск 18:11:25 #95 №1868611 
>>1868609
Пиздец. Хорошо хоть в питоне
a = ''
b = ''

не линкуются лол
Аноним 29/11/20 Вск 18:13:54 #96 №1868614 
В чем разница между самостоятельным вкатом и тратой денег на курс обучения в онлайн школе под руководством опытного айтишника ментора который уже 100 лет на рынке и под конец обучения еще будет свое портфолио с работами.
Аноним 29/11/20 Вск 18:16:36 #97 №1868618 
>>1868611
Линкуются
a = ""
b = ""
id(a) == id(b)
> True

Но строки иммутабельны, ты когда делаешь
a += "symbol"
то не меняется строка "", а создаётся где-то в другом месте новая. Поэтому сбоя нет.
Аноним 29/11/20 Вск 18:24:39 #98 №1868632 
>>1868611
>Пиздец. Хорошо хоть в питоне
На самом деле пиздеца нет, а очень разумное поведение, просто не очевидное.

Вот, например, код
my_list = ['x', 'y']

a, b, c, d = [my_list] 4
по логике просто очевидно, что тебе нужно именно размножить мутабельный объект my_list, соответственно очевидно, что a,b,c,d будут эквивалентными
Почему в случае с [[]]
4 должно быть иначе?

Но понятно что не очевидно, очень часто тут напарываются, как и в случае [] в качестве аргумента функции по-умолчанию.
Аноним 29/11/20 Вск 18:26:34 #99 №1868634 
>>1868632
А зачем может понадобиться 4 имени, которые привязаны к одному и тому же списку, даже когда он изменяется?:
Аноним 29/11/20 Вск 18:27:29 #100 №1868636 
>>1868598
Поделись css.
Аноним 29/11/20 Вск 18:28:33 #101 №1868641 
>>1868636
Расширение Stylus, там тема 2ch Reborn
Аноним 29/11/20 Вск 18:32:50 #102 №1868647 
>>1868641
Нашел, thx.
Аноним 29/11/20 Вск 20:41:08 #103 №1868832 
>>1867362 (OP)
Как получать название выделенного окна в винде, когда питонопрограмма свёрнута?

Сейчас есть программа, которая получает название активного окна в Windows'e при нажатии Enter'a в питонопрограмме, но я хочу получать название активного окна пока питонопрограмма в фоне.

Как можно сделать цикл или забиндить клавиши, чтобы они работали, пока питонопрограмма не является активным окном

Код питонопрограммы: https://pastebin.com/1mZRgA6y
Аноним 29/11/20 Вск 20:56:59 #104 №1868861 
>>1868832
Если я правильно, тебе нужен бесконечный цикл while(True): , который содержит ожидание нажатия, триггерящее функцию взятия имени текущего активного окна. Затем запускаешь скрипт и всё - жамкаешь свой ентер, а скрипт считывает то, что нужно.
Аноним 29/11/20 Вск 21:11:57 #105 №1868880 
Как работает тестирование на кодворзе, как также тестировать и писать тесты, часто читаю в коментах что они там пишут тесты, хочу тоже вкатиться.
Аноним 29/11/20 Вск 22:14:05 #106 №1868920 
>>1868861
я ещё совсем зелен, можешь предложить готовое решение?
Аноним 29/11/20 Вск 22:27:14 #107 №1868934 
download.png
Питоняши, подскажите, в какую сторону идти?

Дано: сервак с redhat, питон 2.6 (к сожалению, этого я не могу изменить) и вот такая АБСОЛЮТНО ЕБАНУТАЯ структура каталога (см. пикрил)

Что я хочу сделать?
В красных каталогах либо лежит лог и вавка, либо только лог. В случае, если есть лог и вавка, я хочу достать из лога длительность вавки (там она пишется), запросить длительность у самой вавки, сравнить их между собой, и ЕСЛИ числа не совпадут с допуском, скажем, в 5 секунд, я хочу получить полный путь до красной папки.
Проблема в том, что вавка должна ПОСЛЕДНИЙ РАЗ МЕНЯТЬСЯ не позже, чем 14 дней назад. Дата создания и дата изменения (os.path.getmtime()) могут очень сильно не совпадать, поэтому просто отсечь по родительским каталогам не получится.

Так вот, как мне лучше реализовать сканирование этой ебанутой директории? Сначала я хотел сделать os.walk('/data'), ждать, когда len(dir) станет равна нулю, тогда это будет означать, что я дошел до содержимого красных папок. Но чет говно вышло, да и медленно, плюс, меня накормили говном за os.walk()
Теперь говорят, что надо делать через os.scandir(), но чет я не понимаю, как здесь:
1. Брать только те файлы, которые изменялись не позднее 14 дней
2& Как понять, что я дошел до конца, где уже вавки лежат с логом?
Примите во внимание, что каталог дохуя большой, папок просто ебануться

Подскажите, плес :з
Аноним 29/11/20 Вск 22:28:19 #108 №1868937 
>>1868934
да, забыл добавить — указанная структура у всех папок на одном уровне иерархии, для простоты восприятия не дублировал
Аноним 29/11/20 Вск 22:34:01 #109 №1868944 
>>1868934
в чём твоя мотивация, почему ты задаешь вопрос здесь, а не на SO>?
Аноним 29/11/20 Вск 22:43:12 #110 №1868959 
>>1868934
>Как понять, что я дошел до конца, где уже вавки лежат с логом?
Почему ты просто не можешь считать уровни вложенности?

> scandir
Его же нет во 2 питоне.
Аноним 29/11/20 Вск 23:10:25 #111 №1868983 
как задать тип переменной?
Аноним 29/11/20 Вск 23:16:02 #112 №1868988 
>>1868983
x: int = "3.14"
Аноним 29/11/20 Вск 23:25:40 #113 №1868995 
>>1868634
Тебе встречный вопрос: нахера тебе 4+ имени с пустым списком? Задумайся, с большой вероятностью ты пилишь говнокод
Тебе уже советовали юзать словарь для подобных случаев: >>1868425
Аноним 29/11/20 Вск 23:46:07 #114 №1869008 
>>1868934
Возможно тебе лучше глянуть на модуль glob, он для поиска файлов по шаблону, есть в 2, и os.stat, с помощью которой ты можешь узнать дату изменения файла.

Аноним 29/11/20 Вск 23:53:23 #115 №1869011 
>>1868934
Ещё вариант, вместо glog запусть либо субпроцесс с командой find
там ты можешь опции указать,
find . -mtime -14
это найти все файлы, модифицированные последние 14 дней
-name ".wav" (звезду добавить, двач режет) найти все файлы по шаблону

ну или на вход скрипта сразу подать вывод find, возможно это тоже вариант
Аноним 30/11/20 Пнд 02:43:34 #116 №1869043 
1.jpg
>>1868565
https://dumpz.org/bhaAqbsQ5k7s

пофикшенный парсер разметки двач-постов
Аноним 30/11/20 Пнд 02:50:52 #117 №1869046 
>>1869043
Ну и че ты там пофиксил, где коментарии, как его запускать ваще?
Аноним 30/11/20 Пнд 02:57:45 #118 №1869048 
>>1869046
python script.py https://2ch.hk/pr/res/1867362.html
OR
python script.py https://2ch.hk/pr/res/1867362.html#1869046
Аноним 30/11/20 Пнд 02:58:54 #119 №1869049 
>>1869048
OR
python script.py -o oppost.txt https://2ch.hk/pr/res/1867362.html
Аноним 30/11/20 Пнд 03:04:36 #120 №1869050 
>>1869046
- Исправлена проблема с парсингом когда есть только открывающий тег, без закрывающего (типо <br>)
- Добавлена возможность указывать ссылку на любой пост, а не только оп-пост
Аноним 30/11/20 Пнд 05:31:55 #121 №1869074 
EEa8pdGUwAANSIc.jpg
ЭЙэЙЭЙЭй парни
нужно в общем инициировать энное количество нажатий в телеге, чтобы ускорить рассылку объяв по группам, нужно в 1 скрипт запихнуть рассылку текста с разметкой по всем группам на которые юзер подписан
я даже закину вам на пивчан и рыбу если бот или скрипт сработает
Аноним 30/11/20 Пнд 06:07:33 #122 №1869076 
>>1869011
Ну это у конкретной директории. А что если хочешь искать по всему диску?
Аноним 30/11/20 Пнд 08:04:51 #123 №1869085 
Какие вопросы могут джуну задать на собесе? Вакансия на бэк, делать микросервисы, как я понял
Аноним 30/11/20 Пнд 08:05:31 #124 №1869086 
>>1869085
Микросервисы это что? Апи?
Аноним 30/11/20 Пнд 08:06:51 #125 №1869087 
Дублирую вопрос из прошлого треда. Как научиться писать всякие тесты по типу как на кодворзе? Читаю коменты, они там какие-то тесты делают то рандомные то обычные.
Аноним 30/11/20 Пнд 08:11:57 #126 №1869090 
>>1869086
Я не знаю так в вакансии написано куда меня позвали. "Разработка приложений с микросервисной архитектурой на Python". Я представляю что такое микросервисы и даже совсем чуток нюхал докер. Не знаю, что еще нужно знать хотя бы на уровне "представляю о чем речь идет"
Аноним 30/11/20 Пнд 08:40:30 #127 №1869097 
>>1869090
Да докер - это просто. Что такое микросервисы, это - нет или железо ебать надо?
Аноним 30/11/20 Пнд 09:46:05 #128 №1869111 
Парни, а можно простейший пример декоратора и для чего он?
Аноним 30/11/20 Пнд 09:48:43 #129 №1869112 
image
>>1868920
Вот тебе пример:

Если тебе нужно, чтобы у тебя программа что-то считывала, например, команды для змейки в игре, тебе нужен бесконечный цикл, который без задержки или с дискретностью считывает какое-то условие или инпут:

В данном случае дискретность(задающаяся функций time.sleep(n) ) не нужна, так как нажатия нужно считывать мгновенно(как можно быстрее)
Аноним 30/11/20 Пнд 09:51:17 #130 №1869113 
>>1869112
Спасибо, но это работает только когда окно программы активно. Как заставить её работать, когда окно свёрнуто?
Аноним 30/11/20 Пнд 09:51:31 #131 №1869114 
>>1869090
Микросервисы это сервисы из который состоит твоя апликуха например. У тебя сложное и большое приложение Шлюха. Ее отдельные сервисы (может быть отдельный сервер, может быть внутренний сервис типа календаря или планера) это сосать, брать, дрочить и печь пироги. Все отдельные друг от друга сервисы, работают по вызовам. Пользователь говорит Шлюхе - сосать. Подрывается сервис сосать и начинает выполнять и тд. Там есть парочка главных сервисов типа Кора и админа соответсвенно.
Аноним 30/11/20 Пнд 09:52:00 #132 №1869115 
Есть у кого список кат на кодворзе именно на дрочь основных алгоритмов чтобы выучить их и знать. Решаю базовое - норм. Но хоучу еще кроме фундаменталки качать и алгоритмы чтобы не ограничиваться знаниями языка.
Аноним 30/11/20 Пнд 09:52:36 #133 №1869116 
image.png
>>1869111
>для чего он
не нужны
Аноним 30/11/20 Пнд 09:55:37 #134 №1869118 
>>1869074
>я даже закину вам на пивчан и рыбу если бот или скрипт сработает

Как щедро с твоей стороны. И ТЗ такое подробное. Думаю, мы можем скинуться всем тредом и закинуть тебе за щеку. Как тебе предложение?
Аноним 30/11/20 Пнд 09:55:48 #135 №1869119 
>>1869112
и кст такое решение работает:

#labName - это строка, на которую выводится текст

def Cycle():
tempWindowName = win32gui.GetWindowText(win32gui.GetForegroundWindow())
labName['text'] = tempWindowName
root.title = tempWindowName
root.after(1000,Cycle)
Аноним 30/11/20 Пнд 09:58:32 #136 №1869120 
>>1869119
> root.after(1000,Cycle)
решительно не понимаю данную конструкцию

есть только предположение:
root - основное окно
after(1000 - после 1000 мс
Cycle - должно выполнить функцию Cycle
Аноним 30/11/20 Пнд 10:01:37 #137 №1869121 
>>1869074
сделаю за 4к
Аноним 30/11/20 Пнд 10:02:17 #138 №1869122 
>>1869119
>tempWindowName = win32gui.GetWindowText(win32gui.GetForegroundWindow())
>labName['text'] = tempWindowName
>root.title = tempWindowName

Это заменяется на одну строчку

root.title = win32gui.GetWindowText(win32gui.GetForegroundWindow())
Аноним 30/11/20 Пнд 10:09:35 #139 №1869123 
>>1869122
точняк. не совсем так, но действительно
labName['text'] = win32gui.GetWindowText(win32gui.GetForegroundWindow())

впрочем, вопрос остаётся открытым, как взаимодействовать со свёрнутой программой?
Аноним 30/11/20 Пнд 10:14:13 #140 №1869125 
>>1869123
Я не эксперт в модуле вин32гуй, и чето впадлу его сейчас ставить, но судя по названии функции, она и не будет захватывать свёрнутое окно, а только активное(на переднем плане)

Кури доки модуля и ищи нужную тебе функцию
Аноним 30/11/20 Пнд 10:15:31 #141 №1869126 
>>1869123
GetForegroundWindow()
Я про неё, она, видимо, захватывает активное окно
GetWindowText()
Эта берёт текст из активного окна
Аноним 30/11/20 Пнд 10:26:51 #142 №1869128 
>>1869111
Чтобы декорировать свой код чужим, лол.
Посмотри как тот же фласк работает.
https://flask.palletsprojects.com/en/1.1.x/quickstart/#quickstart
Аноним 30/11/20 Пнд 10:32:28 #143 №1869130 
>>1869097
Я вообще не представляю что там у них, вот и думаю какие абстрактные вопросы в вакууме могут задать?
>>1869114
Да я понимаю что такое микросервисы, независимые по факту программы, которые друг с другом общаются по апиhttp реквесты или типа того Просто не понимаю что перед собесом почитать или подтянуть, он завтра будет вот и задумался
Аноним 30/11/20 Пнд 10:37:39 #144 №1869131 
А есть в питоне функции, по типу sum() но только для вычитания, умножения и деления, хочу запилить калькулятор без ifов.
Аноним 30/11/20 Пнд 10:41:15 #145 №1869132 
>>1869131
reduce и либа operator.
Аноним 30/11/20 Пнд 10:55:25 #146 №1869135 
>>1869131
Лучше погугли про польскую нотацию, прежде чем пилить калькулятор
Аноним 30/11/20 Пнд 10:56:25 #147 №1869136 
>>1869115
Юзай LeetCode, там удобнее в этом плане
Аноним 30/11/20 Пнд 11:08:41 #148 №1869142 
>>1869125
>>1869126
тут вопрос про tkinter. Как инициировать выполнение функции, пока приложение свёрнуто?
Проблемная строка:
root.bind('<Return>', windowsName)
Работает, только когда окно питона выделено
Аноним 30/11/20 Пнд 13:43:03 #149 №1869192 
>>1869130
>Просто не понимаю что перед собесом почитать или подтянуть, он завтра будет вот и задумался
Да расслабься. Ты не на экзамен идёшь, где препод оценивает твои знания. Собеседование это беседа. Если ты будешь относиться, как к экзамену, это почувствуют и тебе откажут скорее всего, если тебя именно на работу зовут, а не на стажировку.
Аноним 30/11/20 Пнд 14:23:51 #150 №1869217 
>>1869192
>Ты не на экзамен идёшь
А почитаешь мы вам перезвоним тред, так складывается впечатление, что именно как к экзаменам все относятся, включая работодателей.
Аноним 30/11/20 Пнд 18:25:02 #151 №1869363 
Безымянный4.png
какой ide использовать?
PyCharm заебал. Я пришёл вкатываться в кодинг, а не вкатываться в решение десятой ошибки "библиотека не может быть установлена"
Аноним 30/11/20 Пнд 18:29:16 #152 №1869366 
>>1869363
> я пришёл вкатываться в мозгоёблю, а не в мозгоёблю
Аноним 30/11/20 Пнд 18:30:53 #153 №1869368 
>>1869366
пук
Аноним 30/11/20 Пнд 18:36:24 #154 №1869374 
image.png
>>1869363
ну блядь почему так всрато то?
PyCharm несколько часов моего потраченного времени
Visual Studio - установка библиотеки в ОДНО нажатие
Аноним 30/11/20 Пнд 18:41:39 #155 №1869378 
>>1869363
Ты че блять через консоль и venv-среду установить либы не можешь?
пиздец
Аноним 30/11/20 Пнд 18:41:42 #156 №1869379 
Сап питонач, нубский вопрос.
Хочу запилить генератор бугуртопаст на рандоме из предзаписанных строчек бугурта, разместить его на вебсайте, чтобы можно было тыкнуть кнопку "Побугуртить" и получить рандомно сгенеренный бугурт. Задача изи, но я совсем новичок, и у меня есть затруднения с тем, как это реализовать.

Список строчек для бугурта - каждую из них хранить в отдельных переменных?
Полагаю, для рандомизации надо юзать модуль random - но как сделать, чтобы строчки не повторялись в одном бугурте?
Как сделать вызов этого питонового скрипта на вебстраничке и вернуть результат в хтмл? У меня есть опыт поднятия простеньких сайтов с пижженным жс на нжинксе, но как это сделать с питоном?
Аноним 30/11/20 Пнд 18:42:20 #157 №1869380 
>>1869378
ns t,fkj ,s pfdfkbk nj
Аноним 30/11/20 Пнд 18:43:22 #158 №1869382 
>>1869379
я еще больше новичок, но мои советы
чтобы не повторялись фразы - используй массивы
чтобы всё работало онлайн - используй телеграмм бот
Аноним 30/11/20 Пнд 18:48:08 #159 №1869387 
>>1869382
> используй массивы
или последовательность: 1, бугурт, 1, батрудин, итд
и каждый раз, когда бугурт использовался в бредогенераторе добавляй к предыдущему числу, скажем, единицу
и сделай проверку, если перед бугуртом стоит 2, то не использовать этот бугурт
Аноним 30/11/20 Пнд 18:48:53 #160 №1869388 
Paimon-(Genshin-Impact)-Genshin-Impact-Игры-гифки-3912744.jpeg
>>1869374
>>1869363
Использую pycharm + conda и ни разу никаких проблем не было, только иногда бывает баг в pycharm когда у тебя среда не успевает подгрузиться, фиксится перезапуском.
Аноним 30/11/20 Пнд 18:51:28 #161 №1869392 
image.png
>>1869388
как библиотеки ставишь, через настройки?
Аноним 30/11/20 Пнд 18:52:49 #162 №1869395 
image.png
>>1869388
Такблядь, почему как только я решил уходить с этой параши, она заработала?
Аноним 30/11/20 Пнд 18:54:38 #163 №1869396 
Screenshot 2020-11-30 185404.png
>>1869392
не ставить через настройки а через conda консоль на нужною среду
Аноним 30/11/20 Пнд 18:56:19 #164 №1869398 
>>1869396
хуя ты валишь пищдос
Аноним 30/11/20 Пнд 18:59:21 #165 №1869402 
анонусы, я тут с ардуино пришёл. Циклы в питоне все одновременно выполняются?
Аноним 30/11/20 Пнд 19:02:10 #166 №1869406 
Screenshot 2020-11-30 185817.png
Screenshot 2020-11-30 185754.png
>>1869398
устанавливаешь anaconda > создаешь среду в пайчарм или навигатор> выбераешь нужною версию(желательно 3.7)> вебераешь среду через консоль прописываю команду "conda activate имясреды" > устанавливаешь библиотеку на нее через conda желательно, pip также доступен
Аноним 30/11/20 Пнд 19:02:27 #167 №1869407 
>>1869382
>>1869387
Е-мое, чет со счетчиком звучит заебисто, неужели у random нет какого-то параметра типа use_once, хз?
По поводу телеги - хочу именно веб-страничку, хочется веб позадрачивать.
Аноним 30/11/20 Пнд 19:03:28 #168 №1869408 
>>1869402
табуляция если однопоточно, многопоточность можно включить в numba, в питоне она не доступна из-за GIL
Аноним 30/11/20 Пнд 19:08:03 #169 №1869413 
>>1869407
не делай моих ошибок, учись последовательно. От простого к сложному. Сначала сделай бредогенератор, а потом импортируй его в интернет
Аноним 30/11/20 Пнд 19:18:35 #170 №1869433 
>>1869413
А в чем заключалась твоя ошибка?
Аноним 30/11/20 Пнд 19:25:17 #171 №1869440 
image.png
Астанавитесь.
Аноним 30/11/20 Пнд 19:27:03 #172 №1869443 
>>1869440
Утешаю себя мыслью, что на подобных курсах ничему толком не учат и все эти вкатуны завалятся на первом же вопросе про синтаксис.
Аноним 30/11/20 Пнд 19:43:35 #173 №1869453 
image.png
image.png
>>1869443
лол, эдакий миниунивер, есть ли курсы дольше?
Аноним 30/11/20 Пнд 19:46:07 #174 №1869455 
>>1869433
хотел передавать данные через мобильник на ардуино, обрабатывать текстовые массивы, записывать их в энергонезависимую память устройства, ну и работать одновременно с 4 модулями
2 месяца буксования на месте

потом решил начать с малого и докидывать функции по мере готовности предыдущих
ичсх через месяц был рабочий прототип, а через 3 месяца я долечил последний баг
Аноним 30/11/20 Пнд 19:53:37 #175 №1869466 
>>1869453
За 15 месяцев можно успеть выучиться, устроиться джуном и свалить на х2.
Аноним 30/11/20 Пнд 19:55:32 #176 №1869467 
>>1869466
> свалить на х2.
это что?
Аноним 30/11/20 Пнд 19:56:56 #177 №1869468 
>>1869467
Не уверен, но скорее всего х2 от текущей зарплаты. Я в перезвони-треде прочитал.
Аноним 30/11/20 Пнд 20:05:51 #178 №1869477 
>>1867718
>>1867729

Сколько вкатываешься (в месяцах). Работаешь параллельно? Что по образованию?
Аноним 30/11/20 Пнд 20:14:56 #179 №1869484 
>>1869466
Вот и посмотрим.
Я учу питон уже месяц

23 лвл 110 ику, освоил только базу
Аноним 30/11/20 Пнд 20:18:08 #180 №1869489 
>>1869453
Уровень с дауна пускающего слюни.
Научим всего за 14995!
Аноним 30/11/20 Пнд 20:34:57 #181 №1869518 
Привет. У меня есть вложенный список и мне нужно достать из него все первые элементы каждого подсписка. Очевидным было бы List[:][0] , но это не работает. Можно ли как-то это сделать без цикла?
Аноним 30/11/20 Пнд 20:41:58 #182 №1869524 
>>1869518
с numpy никак?
Аноним 30/11/20 Пнд 20:42:36 #183 №1869525 
>>1869518
[l[0] for l in lst]
Аноним 30/11/20 Пнд 20:48:47 #184 №1869534 
>>1869524
Его я знаю ещё хуже, да и странно только ради этого его подключать
>>1869525
Спасибо, это всё равно цикл, но достаточно элегантный, оставлю пока так.
Аноним 30/11/20 Пнд 20:53:16 #185 №1869541 
>>1869534
чтобы достать первый элемент по оси 0 нужно просто прописать:
import numpy as np
somearray = np.ones((10,10))
print(somearray[0,:])
Аноним 30/11/20 Пнд 20:57:22 #186 №1869548 
>>1869541
>[0,:]
*[:,0]
Аноним 30/11/20 Пнд 21:15:33 #187 №1869568 
>>1869518
Без цикла невозможно, в силу того, как устроены списки и списки списков. В том или ином виде, может неявно, но список будет.

numpy тебе не поможет, если у тебя был список списков, а не какой-то объект.

Подсписок - это самостоятельный список, объект, который где-то лежит по произвольному адресу. Внешний список о нём ничего не знает вообще. Невозможно без обхода получить те данные, которые тебе нужны.
Аноним 30/11/20 Пнд 21:16:20 #188 №1869571 
>>1869568
> но список будет.
fix, но цикл будет
Аноним 30/11/20 Пнд 21:30:07 #189 №1869580 
>>1869568
Можно через зип извратиться, но будет не так наглядно.
Да и какой особый смысл избегать циклов? Разве что чтобы не плодить вложенности и дополнительные переменные, компрехенсота это решает.
Аноним 30/11/20 Пнд 22:07:46 #190 №1869599 

>>1869440
хуя, витька блуд
Аноним 30/11/20 Пнд 22:19:07 #191 №1869607 
>>1869580
А почему решает? Разве цикл, оформленный в виде компрехенса или лямбды - это не точно такой же цикл, просто написанный изъебисто, чтобы тебе больше платили и ставили лайки в кодварс?
Аноним 30/11/20 Пнд 22:24:27 #192 №1869612 
>>1869607
Для генерации спискоты в цикле надо заводить отдельную переменную и аппендить.
С вложенностью очевидно - если тебе надо несколько циклов и условий, будет пиздец портянка, а так аккуратный читабельный однострочник.
Аноним 30/11/20 Пнд 23:15:18 #193 №1869630 
>>1869379
Можно сделать на жаваскрипте (пять строчек) прям в браузере и захостить на гитхабе, бэк и нжинкс и питон не нужен для этого
Аноним 30/11/20 Пнд 23:45:31 #194 №1869635 
>>1869607
>Разве цикл, оформленный в виде компрехенса или лямбды - это не точно такой же цикл
Что-то из этого будет быстрее, что-то медленнее.
Аноним 30/11/20 Пнд 23:45:31 #195 №1869636 
coub-на-случай-важных-переговоров-3330939.jpeg
>>1869630
Сколько будет 2+2-2?
Аноним 30/11/20 Пнд 23:45:55 #196 №1869637 
9dabe709cd140933fef9fc588b58e270c3a781cfd5d2eda96003f092130[...].png
Гуру пистона, как форматировать вывод строки так, чтобы очень маленькие дроби отображались именно в том виде, в котором они есть?
Я, конечно, могу написать
print(f'{some_variable:.15f}'), но лицезреть у десятимилионной дроби ещё столько же нулей после последнего знака, сколько перед ним - не айс.
А если ничего не писать - то будет выводиться 0, ибо значимое число идёт в 7 или даже 8 знаке после запятой.
Можно как-то это решить?
Аноним 30/11/20 Пнд 23:55:57 #197 №1869641 
Как юзать С вместе питоном не компилируя С в питоновский формат через ctypes что бы можно было обойти GIL.
Аноним 01/12/20 Втр 00:05:37 #198 №1869649 
>>1869518
https://www.geeksforgeeks.org/python-get-first-element-of-each-sublist/
>>1869637
https://pyformat.info/
Аноним 01/12/20 Втр 00:06:52 #199 №1869651 
>>1869637
Этот самый 15 можно тоже динамично хуярить.
Аноним 01/12/20 Втр 00:08:49 #200 №1869653 
>>1869649
>>1869651
Лишние костыли.
Короче тупо сделал через кортеж ("This value is: ", some_value)
Аноним 01/12/20 Втр 00:10:38 #201 №1869655 
>>1869637
> дроби отображались именно в том виде, в котором они есть
ух щас тебя накормят теорией
твои 0.000001 нечитаемые становятся с шести знаков, для такого придумали саентифик нотейшон
"{:g}".format(foo)
Аноним 01/12/20 Втр 00:14:45 #202 №1869659 
>>1869641
чтобы данные передать в си и обратно вернуть интерпретатору притона придётся обмазаться ситайпами
как альтернатива (такая себе) сишку сконпелять и запускать через subprocess а данные передавать через пайпы
ещё одна (такая себе) альтернатива - приделать к сишному коду веб сервис и http-реквестами с жсонами тренькать (ну или обычным tcp сокетом)
Аноним 01/12/20 Втр 00:17:38 #203 №1869661 
>>1869637
Возможно тебе нужно в виде экспоненты выводить

>>> c = 0.0000000000000000000123456789
>>> print("{:.6e}".format(c))
1.234568e-20

Именно так, как хочешь ты, никак, если только свою функцию не реализовать. Слишком уж логика мудрёная того, чего ты хочешь.

Но твоя логика не очень осмысленна, считать на экране, там 20 нулей или 21 перед цифрой тоже не очень удобно.
Аноним 01/12/20 Втр 00:20:19 #204 №1869665 
>>1869636
встречный вопрос
сколько будет [2] + [2]
и сколько будет numpy.array([2]) + numpy.array([2])
и что будет
bar = numpy.array([1,2,3])
foo = bar[:]
foo[0] = -1
print(bar)
Аноним 01/12/20 Втр 00:26:25 #205 №1869668 
>>1869665
>сколько будет [2] + [2]
Это очевидно

>numpy
А это внешний модуль, не относящийся к стандартной библиотеке питона. Его логика переопределена под его конкретные задачи, из соображений, что вот в тех задачах так лучше.

То есть неочевидность в данном случае ни разу не проблема языка.
Аноним 01/12/20 Втр 00:32:26 #206 №1869672 
>>1869655
>>1869661
Окей. Спасибо.
Аноним 01/12/20 Втр 00:35:18 #207 №1869677 
>>1869665
тут все очевидно
Аноним 01/12/20 Втр 00:37:07 #208 №1869681 
>>1869665
>сколько будет [2] + [2]
[2, 2]. В стандартном питоне списки соединяются вместе, поскольку это удобно для макакинга.
>и сколько будет numpy.array([2]) + numpy.array([2])
[4]. Это сделали, чтобы было удобнее для датасаенса - для сложения векторов и матриц.
>и что будет
>bar = numpy.array([1,2,3])
>foo = bar[:]
>foo[0] = -1
>print(bar)
numpy.array([1,2,3])
Срезы из Numpy массивов не копируются по очевидным причинам. Поэтому будет [-1, 2, 3].

мими дата саентист
Аноним 01/12/20 Втр 00:42:31 #209 №1869685 
>>1869681
>не копируются по очевидным причинам
Не очевидны со стороны.
Как не очевидно поведение:
>>> numpy.array([1000])+numpy.array([1, 2])
array([1001, 1002])
>>> numpy.array([1000, 2000])+numpy.array([1, 2])
array([1001, 2002])
>>> numpy.array([1000, 2000])+numpy.array([1, 2, 3, 4])
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ValueError: operands could not be broadcast together with shapes (2,) (4,)

То есть очень много магии, нужно быть специалистом по numpy, чтобы в ней понимать, обычному спецу по питону код не очевиден совсем.
Аноним 01/12/20 Втр 00:50:15 #210 №1869692 
Сейчас дописал тестовое задание с абсорбирующими цепями Маркова, и хоть головой о клавиатуру готов биться - проходит все тесты кроме одного скрытого.

Если кто писал подобное или решал их, какие могут быть маргинальные случаи, которые код мог не покрыть?

По условиям, комплексных абсорбирующих штатов нет, все единичные. Всегда есть хоть один штат и на него его путь 100%.

Я просто не понимаю уже что делаю не так. Хоть заново все пиши. Я перепроверил вручную штук 20 тестов - все без толку. Всё правильно и совпадает с ручным решением.

Должен быть какой-то пограничный случай, который я упускаю. Но и матрицы минимального и максимального размера, и с одним поглощающим штатом, и с одним транзиторным штатом, и с очень большими числами, и с крутилкой я проверил.
Аноним 01/12/20 Втр 00:51:34 #211 №1869694 
>>1869685
>Не очевидны со стороны.
>То есть очень много магии, нужно быть специалистом по numpy, чтобы в ней понимать, обычному спецу по питону код не очевиден совсем.
Просто Numpy заточен под математику и определенные предметные области. Для людей, которые в них разбираются, он интуитивен.
Аноним 01/12/20 Втр 00:51:55 #212 №1869696 
>>1869379
Попробуй генерацию текста с помощью random walk, текст выходит гораздо более связанный и звучит почти осмысленно.

Помню как угорал с речей Трампа, написанных таким скриптом.
Аноним 01/12/20 Втр 00:52:24 #213 №1869697 
>>1869685
numpy.array([1000])+numpy.array([1, 2]) == numpy.array([1, 2]) + 100

numpy.array([1000, 2000]).shape == numpy.array([1, 2]).shape

numpy.array([1000, 2000]).shape != numpy.array([1, 2, 3, 4]).shape
Аноним 01/12/20 Втр 00:56:43 #214 №1869700 
>>1869685
Очевидно, потому что это векторные операции. Вектор и число можно сложить, можно сложить два вектора одной размерности, но складывать два вектора разной - это все равно что складывать прямую и куб. Лишено смысла.

Это не нампай, это банальная линейная алгебра.
Аноним 01/12/20 Втр 01:01:58 #215 №1869704 
>>1869681
Мими сайнтист, посоветуй вкатуну книг по дате. Сейчас читаю Python for data analysis, и я там на первых страницах нашёл ответы на вопросы, на которые мне почему-то нормально никто не ответил из людей, которые заявляли себя таковыми.

Просто всякие курсы мне сразу не вкатывают, нравится последовательное изложение связанного материала от профи.
Аноним 01/12/20 Втр 01:03:40 #216 №1869705 
--.jpeg
>>1869659
Аноним 01/12/20 Втр 01:12:56 #217 №1869707 
>>1869704
>посоветуй вкатуну книг
Можешь начать с "The Elements of Statistical Learning". Но без специализированной вышки (желательно ПхД) ты вкатишься максимум макакой на побегушках. В таком случае быстрее и проще пойти в веб.
Аноним 01/12/20 Втр 01:15:48 #218 №1869709 
>>1869707
Мне не интересен веб, мне интерсна статистика и автоматика сами по себе. Ещё в вузе заинтересовался с подачи препода.

Так что вкатываться или нет для меня вопрос не стоит, это для меня выбор жизненного пути скорее и чем я хочу заниматься.
Аноним 01/12/20 Втр 01:43:19 #219 №1869714 
>>1869707
Алсо, если ты дата сайнтист, то удели пару минут пожалуйста и подумай >>1869692 над этим. Мне даётся матрица рандомных шагов. Моя задача - с использованием только стандартных библиотек найти её лимитирующую матрицу. Всё случаи которые мне пришли в голову, она находит. Мб сразу придёт в голову какие-то случаи которые легко упустить?

Это трайл от корпорации зла, поэтому я не могу искать ответы или писать задание полностью, они предупреждают что выкинут с тестирования если решат что я мухлюю, и судя по отзывам, такие случаи бывали реально.
Аноним 01/12/20 Втр 01:44:33 #220 №1869716 
>>1869714
П. С. Код проходит 9 тестов из 10. Значит я упустил какой-то пограничный или специфический случай, а не сам принцип.
Аноним 01/12/20 Втр 05:57:31 #221 №1869765 
>>1869192
Не, я уже проходил собесы до этого и даже прошёлв сбер, но там долгая история почему не получилось устроится, просто не хочется оказаться в ситуации, где мне говорят о чем-то, а я даже не знаю что это такое. Я думаю, что это чувствуется. Условно говорят мне, что работа будет связана с разверткой приложений на k8s и предполагается, что я как-то на это отреагирую, вопрос уточняющий задам типа в теме и понимаю о чем речь. А я такой пук среньк и мне потом перезвонят.
Аноним 01/12/20 Втр 06:01:22 #222 №1869766 
>>1869453
Лол, а хули там 15 месяцев делать? Чтобы прям совсем с нуля вкатиться времени нужно больше значительно. Если есть какая-то база, типа "делал лабу сложение матриц в универе", то значительно меньше.
ПОЧЕМУ Аноним 01/12/20 Втр 06:45:34 #223 №1869771 
Screenshot133.png
ПОЧЕМУ ТАК НАХУЙ???????
КУДА ЭТА МРАЗЬ ДЕВАЕТ ДВОЙКУ И ЧЕТВЁРКУ?????????
Аноним 01/12/20 Втр 06:49:28 #224 №1869773 
>>1869771
Попробуй цифры заменить на слова, станет понятнее.
Аноним 01/12/20 Втр 06:52:45 #225 №1869775 
>>1869773
Я до этого и делал со словами - понятнее не было 60 IQ гений
Аноним 01/12/20 Втр 07:15:16 #226 №1869778 
>>1869775
Потому что ты на каждом этапе удаляешь куски a, пока цикл по нему шагает. Был у тебя в нулевой клетке 1, его отправили, удалили, теперь в нулевой клетке 2. Алгоритм делает шаг в первую клетку, там 3. Отправляет-удаляет, теперь в первой клетке 4, алгоритм шагает в следующую клетку, там 5.

2 и 4 остались в a, 1, 3, 5 переехали в sent_messages
Аноним 01/12/20 Втр 09:45:06 #227 №1869803 
>>1869771
Попробуй вместо
for x in a:
print(x)
Сделать
for i in range(0,4):
print(i)
print(a)
print[a]
Сделать и сразу абсолютно все поймешь
Аноним 01/12/20 Втр 09:46:06 #228 №1869804 
>>1869803
Блять, не спал ночь и хуйню написал, шок. Короче, надо написать
print(i)
print(a)
print(a)
Аноним 01/12/20 Втр 09:47:23 #229 №1869805 
>>1869804
А, понял. Квадратные скобки приняли решение просто не отображаться. Короче твой список "а", а рядом в квадратных скобках i
Аноним 01/12/20 Втр 09:51:28 #230 №1869806 
>>1869406
Пиздец ваша анаконда параша. Помню ставил тензорфлоу чисто побаловаться, она мне сделала под него среду на 5 гигабайт. Я охуел, снёс это говно и забыл как страшный сон.
Аноним 01/12/20 Втр 10:06:12 #231 №1869814 
>>1869806
Для чисто побаловаться существует Google Colab.
Аноним 01/12/20 Втр 10:20:10 #232 №1869815 
>>1869806
Ставить игрушки на 50+ гб = True
ставить среду разработки на которой предустановленны библиотеки на все случаи жизни = False
Аноним 01/12/20 Втр 10:20:50 #233 №1869816 
d9cfae806280fe3e7944b5c8f0213d89.jpg
>>1869806
Аноним 01/12/20 Втр 10:22:36 #234 №1869817 
>>1869814
Да посыл не в этом. Какого чёрта энвайромент столько весит? Или туда вообще всё запихано, включая и КУДА-либы нужной версии? Я в этом сомневаюсь, потому что вряд ли у конды реализован механизм определения железа, скачивания и установки нужных либ и т.д.
>>1869815
1) Я не играю в игры
2) Место на ССД ограничено и это было ударом по моей психике шизоида, который каждые 20 минут жмёт Win + E, чтобы глянуть, не съедено ли ещё лишних полгига, и если съедено, то кем и почему.

>>1869816
Я понимаю, что там может столько весить, но согласись, нихуя не преемлимо не предупреждать пользователя перед началом установки хотя бы о том, сколько места понадобится.
Аноним 01/12/20 Втр 10:23:27 #235 №1869819 
>>1869814
>Для чисто побаловаться существует Google Colab.
tesla видеокарты не для баловства в калабе
Аноним 01/12/20 Втр 10:23:52 #236 №1869820 
>>1869817
>экономить место
>сидя на винде
лол
Аноним 01/12/20 Втр 10:26:37 #237 №1869822 
>>1869820
И?
Аноним 01/12/20 Втр 10:27:35 #238 №1869823 
>>1869817
либо у тебя ссд очень мал либо ты на нем хранишь не нужные файлы и программы
Аноним 01/12/20 Втр 10:29:29 #239 №1869824 
>>1869817
и ты должен был понимать что тф или даже гпу тф с кудой весят дохуя
Аноним 01/12/20 Втр 10:33:36 #240 №1869825 
>>1869824
В тьюториале, по которому я это делал, про это ни слова не было сказано, и КУДА ставилась в самом начале как набор самостоятельных библиотек.
>>1869823
К сожалению, да, всего лишь 120гб, и пока нет возможности обновиться.

Аноним 01/12/20 Втр 10:34:23 #241 №1869827 
>>1869822
Винда всё равно сожрёт, какие крохи ты там сэкономил. 5гб? 1-2 апдейта и WinXSis станет +5гб.
Аноним 01/12/20 Втр 10:36:42 #242 №1869828 
>>1869827
>WinXSis
В смысле WinSxS?
Не замечал увеличичения объёма системы после обновлений. Даже после апдейта до 2004. Очистка диска(включая системные файлы) + удаление Windows.cuckold
Аноним 01/12/20 Втр 10:43:31 #243 №1869830 
>>1869825
анаконда автоматически делает предустановку нужных библиотек устанавливаемой библиотеки и предупреждает о конфликтах версий, это нормально что тф мак столько весит.
Аноним 01/12/20 Втр 10:47:41 #244 №1869832 
>>1869825
ссд'шники быстро работают и быстро дохнут, так что я пользуюсь старыми добрыми hdd, старыми в обоих смыслах(уже 10+ лет работает).
Аноним 01/12/20 Втр 10:51:26 #245 №1869834 
>>1869832
И сколько ссдшников у тебя сломалось?
Аноним 01/12/20 Втр 10:58:03 #246 №1869837 
>>1869834
ни одного так как я не покупал, у твердотельных накопителей записывающая способность ограничена сильнее чем в обычных винчестерах, и вся память это заряды которые нужно обновлять, а если его оставить без энергоснабжения то данные могут повредиться.
Аноним 01/12/20 Втр 11:00:59 #247 №1869839 
Раз уж такая хуйня пошла, расскажи Анон, почему ты до сих пор не юзаешь божественный pipenv?
Аноним 01/12/20 Втр 11:02:02 #248 №1869840 
>>1869839
потому что есть conda
Аноним 01/12/20 Втр 11:06:55 #249 №1869844 
>>1869839
Есть poetry
Аноним 01/12/20 Втр 11:08:23 #250 №1869845 
>>1869839
>pipenv
>Windows is a first-class citizen, in our world.
>Install Pipenv Today!
>Нет инструкции по установке на винду
Хех, мда. А всё почему? Потому что там оговорок на полстраницы, и вообще иди документацию читай!
Аноним 01/12/20 Втр 11:13:13 #251 №1869848 
Хочу написать свою небольшую борду.
Что нужно учить помимо Python+Django? Или для этого лучше подойдёт пыха?
Аноним 01/12/20 Втр 11:13:15 #252 №1869849 
>>1869840
Anaconda хороший дистриб, но нахуя она мне если я не буду пользоваться почти ничем, что она поставляет?
Аноним 01/12/20 Втр 11:16:11 #253 №1869850 
>>1869848
Поискать инфу по бд и немного окунуться в жс
Аноним 01/12/20 Втр 11:16:36 #254 №1869852 
>>1869845
Ты совсем дурачок или притворяешься?
Для тебя тупенького: pip install pipenv
Аноним 01/12/20 Втр 11:18:03 #255 №1869855 
>>1869850
> немного окунуться в жс
Это обязательно или просто для того, чтобы всё выглядело не вырвиглазно?
Аноним 01/12/20 Втр 11:19:16 #256 №1869858 
>>1869852
>Решил выебнуться
>Ничего не понял
>Только пукнул
Не, ну ты-то точно никогда не притворяешься.
Аноним 01/12/20 Втр 11:20:59 #257 №1869859 
>>1869832
Ну да, поэтому на ссд ставят систему и программы, который ты один раз записал и мб потом обновляешь раз в несколько недель или месяцев. Я не понимаю, как можно таким образом израсходовать ресурс в несколько десятков терабайт перезаписи, ведь в таком случае ты в основном читаешь информацию, а не пишешь её.
Аноним 01/12/20 Втр 11:21:16 #258 №1869861 
>>1869849
кучу вкусных библиотек из коробки, собственную консоль, навигатор и юпитер
Аноним 01/12/20 Втр 11:24:35 #259 №1869862 
>>1869859
0 - ссд будет обновлять заряды в памяти в любом случае
1 - операционная система постоянно что то записывает и читает в фоне
2 - файл подкачки (его при желании можно отключить но все же)
Аноним 01/12/20 Втр 11:39:53 #260 №1869870 
image.png
>>1869862
Полет джва года, из 600тб перезаписано всего 7.7
Аноним 01/12/20 Втр 11:50:49 #261 №1869885 
>>1869870
террабайтные ссд рассчитаны 300 тб +-50тб, так же зависит от его многомерности.
мой диск d:
- hold my beer
Аноним 01/12/20 Втр 11:53:37 #262 №1869890 
15733261104190.jpg
>>1869885
Даже если 300, то этого хватит на 37 лет
Аноним 01/12/20 Втр 11:59:08 #263 №1869893 
>>1869890
раздели на перезарядку данных
Аноним 01/12/20 Втр 12:02:17 #264 №1869896 
15726381247420.png
>>1869893
И раз во сколько это происходит?
Аноним 01/12/20 Втр 12:05:25 #265 №1869898 
>>1869890
Правда говоря за долговечность и объем нужно платить скоростью и неравномерным износом.
Аноним 01/12/20 Втр 12:36:52 #266 №1869927 
IMG20201023101658867.jpg
Аноны ну позязя кто решал проблему вычисления random walk with absorption, накидайте материалов по ним.

Я прошу чисто математические методы, которые могут быть имплементированы в виде кода а не решение.
Аноним 01/12/20 Втр 13:45:49 #267 №1869963 
>>1869076
что значит по всему диску, епта наркоман, ты че на винде?

find /poshel/nahuy/data -mtime 14

надо несколько директорий - делаешь несколько файндов. если тебе хочется поиск по всей системе - ищи от корня /
Аноним 01/12/20 Втр 13:54:05 #268 №1869965 
>>1869778
Спасибо, брат от души, век жизни и здоровья тебе и твоей маме
Аноним 01/12/20 Втр 14:13:26 #269 №1869976 
>>1869837
У тебя на флешке данные часто повреждаются дебич?
Аноним 01/12/20 Втр 14:18:10 #270 №1869980 
>>1869965
Тебе надо научиться понимать, когда нужно делать полную копию объекта, которым манипулируешь, иначе у тебя в какой-то момент код будет мешать объекты, на которые ссылаются другие объекты и все полетит в пизду, а ты будешь бегать как я позавчера с горелой сракой и не понимать почему это не работает.

Обязательно почитай про идентичность объектов и запомни это накрепко.

Твой код подобен тому, как если бы ты считал шарики в пачке, вытаскивая нижний. Ты вытащил шарик 1, на его место упал шарик 2, но ты уже считаешь шарик под номером 2, который изначально был под номером 3. Так работает твой код. Тебе нужно сначала посчитать шарики, а потом удалить отсчитанные.
Аноним 01/12/20 Втр 14:27:30 #271 №1869986 
>>1869976
Хули его убеждать, пусть сидит себе на хдд.
Аноним 01/12/20 Втр 15:47:55 #272 №1870057 
>>1869817
>который каждые 20 минут жмёт Win + E, чтобы глянуть, не съедено ли ещё лишних полгига, и если съедено, то кем и почему
А мог бы прогу на питоне написать, которая за тебя это делает.
Аноним 01/12/20 Втр 18:52:19 #273 №1870242 
>>1869806
>Помню ставил тензорфлоу чисто побаловаться, она мне сделала под него среду на 5 гигабайт
Тензорфлоу со всеми зависимостями где-то столько и весит. Среда анаконды хранит установщики пакетов плюс сами пакеты, никакой магии тут нет. А еще ее можно чистить - гугли conda clean.
>>1869832
>ссд'шники быстро работают и быстро дохнут
Так было десять лет назад. SSD уже давно обогнали по надежности HDD.
>>1869885
>террабайтные ссд рассчитаны 300 тб +-50тб, так же зависит от его многомерности
Это до потери гарантии. Реально терабайтные SSD без проблем нарабатывают терабайты записи.
Аноним 01/12/20 Втр 19:10:22 #274 №1870276 
>>1870242
Да и 10 лет назад они надёжные были, надёжнее HDD. Дохнут реже, а когда дохнут, часто данные при этом доступны, просто писать новое не могут.

А вот HDD легко могут без предупреждения сдохнуть, причём так, что данные не вытащишь, только в специальное место нести и большие деньги платить.

Ресурс даже бытовых огромен, реально ведь перезаписывается очень небольшая часть. У HDD тоже ресурс есть, механика не вечная, причём работает эта механика и в режиме простоя, диск крутится, и в режиме активного чтения головка двигается туда-сюда.

Если надо использовать диск для очень активной записи, то есть специальные серверные варианты, ресурс которых сильно больше, в десятки-сотни и тысячи раз. Но они дороже, конечно же. Но зато их почти как оперативку можно использовать.
Аноним 01/12/20 Втр 19:26:13 #275 №1870310 
>>1870242
>петабайты записи
Фикс.
Аноним 01/12/20 Втр 20:39:54 #276 №1870389 
>>1870276
АВОТ ФЛЕШКИ! А ВЫ ЗНАЕТЕ ФЛЕШКИ!!! А ВОТ ФЛЕШКИ ТО ГОРЯТ! ВСЯ ИНФОРМАЦИЯ ТЕРЯЕТСЯ!!! ВООООТ!!! А НА ДИСКАХ НЕ ТЕРЯЕТСЯ ЗА CD БУДУЩЕЕ!!!
Аноним 01/12/20 Втр 22:26:45 #277 №1870441 
1606850776396.jpg
>>1870063 →
Бля, у меня модуль сломался). Почему он не работает?
Аноним 01/12/20 Втр 22:36:04 #278 №1870456 
image.png
>>1870441
Потому что ты его назвал pyautogui и он сам из себя пытается импорт сделать.
Аноним 01/12/20 Втр 22:44:33 #279 №1870464 
>>1870456
Нипонил. Раньше всё работало. Как фиксить?
Аноним 01/12/20 Втр 22:48:00 #280 №1870466 
>>1870464
>Раньше всё работало.
Судя по предыдущему сообщению, ты его pyaytogui называл
>Как фиксить?
Переименовать свой файл.
Аноним 01/12/20 Втр 22:50:38 #281 №1870470 
>>1870466
Переименовал, такая же херня
Аноним 01/12/20 Втр 23:15:38 #282 №1870503 
>>1870466
Понял, спасибо.
Аноним 02/12/20 Срд 04:40:59 #283 №1870601 
>>1870441
Нахуй вообще надо если есть ahk
Аноним 02/12/20 Срд 05:30:49 #284 №1870609 
>>1870601
Например потому что я только что услышал про какой-то ahk, а про автоматизацию на python слышу постоянно.
Аноним 02/12/20 Срд 08:47:00 #285 №1870660 
>>1869128
Не оченб понятно. :/ можно что-то проще пожалуйста.
Аноним 02/12/20 Срд 08:49:23 #286 №1870661 
>>1869406
В пайчарме можно сразу задать среду для проекта и не нужно дрочить активации.
Аноним 02/12/20 Срд 08:53:35 #287 №1870663 
Зачем пишут так Selenium
Find_elements_by_css(*element_name)

Для чего там звездочка? Ведь это элемент, а не элементы.
Аноним 02/12/20 Срд 09:35:00 #288 №1870670 
>>1869855
ну с таким фронтом, как на двачах и без жиес можно, достаточно бутстрапа.
sageАноним 02/12/20 Срд 10:03:45 #289 №1870676 
2020 ujl
Аноним 02/12/20 Срд 10:04:43 #290 №1870677 
image.png
2020 год
рисовать интерфейсы через код______
тольковыиграли
Аноним 02/12/20 Срд 11:06:05 #291 №1870692 
>>1870663
В питоне означает операцию распаковки последовательности. Если element_name является например массивом, то в качестве аргументов функции будут переданы все элементы массива. Гугли про args, kwargs
Аноним 02/12/20 Срд 11:06:46 #292 №1870693 
>>1870692
Проебался с разметкой. Это я про звёздочку
Аноним 02/12/20 Срд 11:11:32 #293 №1870695 
Хз где я проебался, в этой кате
https://www.codewars.com/kata/5b180e9fedaa564a7000009a
бля ну я старался, у меня не прошли рандомные тесты. То ли я не понял задание, то ли контриб - просто пидор. Сотреть в решения - толку нету, там будуд дрочить кто на что горазд. Я просто ебнул циклами со счетчиками.
https://www.codepile.net/pile/edxgv2nm решение
Глянтье плис кто решал эту кату, чяднт?
Аноним 02/12/20 Срд 11:22:51 #294 №1870707 
>>1870695
Условие elif не те отступы имеет
Аноним 02/12/20 Срд 11:25:43 #295 №1870713 
>>1870707
Да вроде те, я 100500 раз ставил то туда то сюда, в итоге - так, тк n уже имеет зачение. Пробовал удалять n, обнулять заново. В итоге, в ипутоне, и на кодворзе сошлолсь - так, кроме рандома.
Аноним 02/12/20 Срд 11:38:27 #296 №1870728 
>>1870713
Ну ты че. Во первых условия проверки счётчика убери из цикла. А то получается что только одна итерация у цикла. А во вторых проверки счётчика с длиной должны находиться на одном уровне.
А ещё нахуя тебе break после return?
Аноним 02/12/20 Срд 12:03:43 #297 №1870742 
>>1870695
Не знаю, что там у тебя проходило, n <= len(s)/2 будет почти в любом случае срабатывать с первого раза. Надо досрочно проверять только upper и делать upper, в конце возвращать lower.
Аноним 02/12/20 Срд 13:53:19 #298 №1870797 
>>1870677
Про html/css/jquery слышал?
Аноним 02/12/20 Срд 14:01:49 #299 №1870806 
>>1870661
В вс код так же - активированная для проекта среда будет сама активироваться в терминале при открытии проекта.

just sayin'
Аноним 02/12/20 Срд 14:10:15 #300 №1870814 
Кто-нибудь работает на UpWork и прочих зарубежных фриланс-биржах?
Как обстоят дела с заказами на Django? Или на АпВорке котируются другие области программирования на Питоне?
Аноним 02/12/20 Срд 14:18:31 #301 №1870821 
>>1870814
По моим ощущениям больше половины заказов это ебучие парсеры, остальное либо консультации либо долгосрочные проекты на +3 месяца
Аноним 02/12/20 Срд 14:30:46 #302 №1870830 
>>1870821
А что такое "парсер"? (я просто только-только вкатываюсь, может эту тему и надо изучать)
Аноним 02/12/20 Срд 16:01:17 #303 №1870900 
Есть один объект, у которого есть пачка методов для разных сетевых запросов. Все методы синхронные. Я хотел бычтобы от меня отъебались наконец со своей асинхронщинойс минимальными телодвижениями добавить в него асинхронные аналоги этих функций или может создать его асинхронный клон. Есть может у кого пример обертки для подобного?
Аноним 02/12/20 Срд 16:03:05 #304 №1870903 
>>1870900
На чем запросы написаны?
Аноним 02/12/20 Срд 16:09:26 #305 №1870909 
>>1870903
на питоне
Аноним 02/12/20 Срд 16:10:40 #306 №1870911 
>>1870903
Понятия не имею, там .dll подгружаются, а питончик обертка только, я боюсь туда глубже лезть. run_in_executor() меня полностью устроит, я просто не хочу копипастить эти методы с приставкой асинк при каждом изменении. Главное чтобы снаружи как бы асинк и норм.
Аноним 02/12/20 Срд 16:24:05 #307 №1870923 
>>1870911
Надо смотреть, то есть может быть и треды надо делать, с риском свалиться где-нибудь на thread-unsafe.

Полноценная асинхронность требует глубокой переработки кода. Хотя для многого есть асинхронные аналоги обычных синхронных функций, или там можно близко переписать.

Но просто "приписать асинк" в принципе не поможет, это так не работает совсем. Запросы всё равно останутся блокирующими синхронными.
Аноним 02/12/20 Срд 16:26:09 #308 №1870925 
>>1867362 (OP)
Как мне определять, что что-то является ссылкой? Ведь может быть указана и без приставки http(s)://, например. И доменов в ней может быть несколько уровней.
Есть какая-нибудь либа, в которой есть метод isLink() или типа того?
Аноним 02/12/20 Срд 16:27:51 #309 №1870927 
>>1870797
Слышали, но только вот как на питоне сделать gui приложение в стиле электрона? Вот чтобы приложение само загружало одно headless окно браузера и через него работало?
Аноним 02/12/20 Срд 16:40:43 #310 №1870940 
>>1870923
>Полноценная асинхронность
Не нужна. Нужно колдунство, которое автоматически создаст асинхронные методы аналогичные синхронным. Плевать что у них внутри, лишь бы их можно было в loop пихать.
Но все равно спасибо за помощь.
Аноним 02/12/20 Срд 16:55:47 #311 №1870971 
Аноны, как сделать глобальную переменную?
Есть один комбобокс в котором пользователь выбирает цифру
Как мне сделать эту цифру глобальной?
Верхний вариант не работает https://www.geeksforgeeks.org/global-local-variables-python/
Аноним 02/12/20 Срд 17:01:43 #312 №1870978 
def getText():
arduino_port = 10

def textTest():
print("Arduino is connected to", arduino_port)

Как из одной функции в другую кинуть переменную?
>>1870971
Аноним 02/12/20 Срд 17:13:31 #313 №1870997 
>>1870978
Заработало:

def getText():
global arduino_port
arduino_port = 10

def textTest(self):
print("Arduino is connected to", arduino_port)

Что значит этот SELF?
Аноним 02/12/20 Срд 17:23:19 #314 №1871018 
>>1870997
Значит, что ты накопипастил хуйни.
Аноним 02/12/20 Срд 17:25:32 #315 №1871023 
>>1871018
петушиный угол на два треда ниже
Аноним 02/12/20 Срд 17:28:21 #316 №1871027 
>>1871023
Вот и пиздуй. Хули ты лепишь без понимания вообще, прочти хоть одну ссаную книгу.
Аноним 02/12/20 Срд 17:29:58 #317 №1871030 
>>1871027
>мама я тролю двочь))))))
только если своей тупостью
Нечего сказать по делу - съебался с треда
Аноним 02/12/20 Срд 17:31:40 #318 №1871035 
>>1871030
Я тебе и говорю по делу - прочитай книгу, дебил.
Аноним 02/12/20 Срд 17:33:05 #319 №1871040 
>>1871035
>ГЫ, ПАГУГЛИ
Ясно, хуй соси
Аноним 02/12/20 Срд 17:34:06 #320 №1871044 
>>1871040
Ты ведь уже погуглил и накопипастил хуйни. Значит и пососал?
Аноним 02/12/20 Срд 17:34:56 #321 №1871046 
>>1871044
Пёс, топай на парашу
Аноним 02/12/20 Срд 17:36:21 #322 №1871051 
>>1871046
Мог уже начать читать книгу, а ты тратишь время на никому не нужные огрызания. Так и останешься дебилом.
Аноним 02/12/20 Срд 17:38:52 #323 №1871062 
>>1871051
>мне тебя жаль
Классические петушиные фразы
Очень интересно, но иди на хуй
Аноним 02/12/20 Срд 17:39:45 #324 №1871066 
>>1871062
Твоя фраза же, уноси обратно.
Аноним 02/12/20 Срд 17:40:35 #325 №1871071 
>>1871066
отнёс тебе за щеку, проверяй
Аноним 02/12/20 Срд 17:42:18 #326 №1871075 
>>1871071
И зачем ты конструктивную беседу свел к такой хуйне?
Аноним 02/12/20 Срд 17:42:37 #327 №1871077 
>>1871062
Заебал. Если ты накопипастил не зная, что такое self, для чего это в питоне, то вот реально, иди в ньюфаг раздел, там тебе пояснят может даже я посяню. Там ещё нормально, здесь это уже ниже минимума до такого опускаться.
Аноним 02/12/20 Срд 17:43:32 #328 №1871078 
>>1871077
> иди в ньюфаг раздел
а где я сейчас?
Аноним 02/12/20 Срд 17:43:59 #329 №1871079 
while 1:
command = str.encode('1')
arduino.write(command)
time.sleep(1.5)


Вот что значит while 1?
Аноним 02/12/20 Срд 17:46:50 #330 №1871084 
>>1871078
В питон-треде. Предполагается, что ты хотя бы неделю попробовал книжки почитать по теме, прежде чем лезть с вопросами в тематический раздел.

Те, кто не приложил никаких сил, вообще никаких, чтобы разобраться, не достойны внимания и времени.
Аноним 02/12/20 Срд 17:48:18 #331 №1871087 
>>1871079
>Вот что значит while 1?
следующий вопрос будет
> что значит x = 1
Аноним 02/12/20 Срд 17:52:43 #332 №1871093 
>>1871087
Ждем вкатышей с голосовыми сообщениями, не умеющих писать.
Аноним 02/12/20 Срд 18:17:16 #333 №1871119 
https://voca.ro/1i1uFcJiuRHj
Аноним 02/12/20 Срд 18:18:31 #334 №1871120 
>>1871084
ага, хуй соси, мнение петуха очень важно нам
Аноним 02/12/20 Срд 18:24:03 #335 №1871126 
алло, пидорасы, где ответ на вопрос?
Аноним 02/12/20 Срд 18:30:57 #336 №1871130 
>>1870940
Был бы у тебя хотя бы requests можно было бы сделать так
>import requests_async as requests
Аноним 02/12/20 Срд 19:06:41 #337 №1871157 
>>1870940
Автоматически не получится. Но надо смотреть, какие у тебя блокирующие синхронные сетевые вызовы сейчас используются.

Вообще неправильно так относиться к программированию. Надо понимать, что и как делает твой код, в любом случае надо.

И с асинхронностью надо разбираться, без неё сейчас никуда, если ты не хочешь на обочине оказаться. Особенно, если ты с сетями, внешними сервисами и внешними процессами работаешь.
Аноним 02/12/20 Срд 19:51:45 #338 №1871201 
>>1870927
>>1870677
PySide и PyQt нужны чтобы работать с Qt, а в Qt есть QML - декларативный язык создания интерфейсов, это другая ветка гуи, параллельная обычным Qt виджетам.
https://doc.qt.io/qtforpython/tutorials/basictutorial/qml.html
https://doc.qt.io/qt-5/qmlapplications.html
https://wiki.qt.io/Getting_Started_Programming_with_QML/ru

Но и для обычных виджетов Qt есть возможность нарисовать интерфейс в QtDisigner, сохранить его в виде файла, а потом его просто его загрузить в своем коде. И такая же возможность есть для WxPython и GObject, обвязками для WxWidgets и GTK+ соответственно.
https://doc.qt.io/qt-5/qtdesigner-manual.html
https://www.tutorialspoint.com/wxpython/wxpython_gui_builder_tools.htm
https://glade.gnome.org/

Есть Kivy со своим декларативным языком интерфейса, он кроссплатформенный, но там больше под мобилки все заточено.
https://kivy.org

Если прям очень хочется работать с набором html/js/css, чтож, и это возможно. В составе и Qt, и WxWidgets, и GTK+ есть свои WebViewб которые рисуют веб-контент. Есть PyWebWiev, они стараются использовать существующий в ОС WebView. Есть Eel, они прям пишут, что позволяют делать simple Electron-like offline HTML/JS GUI apps. Есть Flexx, тоже используют отрисовку в браузере.
https://github.com/r0x0r/pywebview
https://github.com/samuelhwilliams/Eel
https://github.com/flexxui/flexx
Аноним 02/12/20 Срд 20:58:21 #339 №1871240 
если scikit learn классифицирует разнообразный датасет нормально, а когда только один класс данных то всё хуёво, где можно было обосраться?
Аноним 02/12/20 Срд 21:18:04 #340 №1871263 
как сохранить величину, чтобы после перезапуска программы она сохранилась?
Аноним 02/12/20 Срд 21:18:29 #341 №1871264 
>>1871263
(конкретно - имя пользователя)
Аноним 02/12/20 Срд 21:37:57 #342 №1871279 
>>1871263
>как сохранить величину, чтобы после перезапуска программы она сохранилась?
Записать в файл. Если таких настроек много, то используй JSON.
Аноним 02/12/20 Срд 22:01:33 #343 №1871294 
>>1871279
Опять ты! В петушиный угол, быстро и решительно
Аноним 02/12/20 Срд 22:06:07 #344 №1871296 
Что за загон то такой. Чел спрашивает простой вопрос - ему дают бесполезный совет.
Чмонь, ты про огурец что-то слышал? https://wiki.python.org/moin/UsingPickle
Аноним 02/12/20 Срд 22:06:19 #345 №1871297 
Аноны, посоветуйте пожалуйста что почитать о скорости различных способов в питоне.

Сейчас доделал задание с random walk, проблема в том, что решение с тз математики было изначально правильное, но дико медленное. Я прошёл все тесты только оптимизировав скорость вычислений.

Дико плаваю в данной теме, я не понимаю что будет продуктивнее, я не понимаю почему плохо создавать много объектов (да, они жрут память, но я понятия не имею сколько, может крохи) и пр.

Проблема в том, что я уже четвертую книгу по питону читаю, и нигде не видел разбора этой темы. Заранее спасибо если кто посоветует.
Аноним 02/12/20 Срд 22:07:27 #346 №1871300 
>>1871079
1 ==True

While 1 == всегда, независимо от любых условий.
Аноним 02/12/20 Срд 22:08:49 #347 №1871301 
>>1871300
Похоже на костыль, какой смысл?

Я тут с Ардуино пришёл, у нас пока цикл не выполнится, код дальше работать не будет. Тут с таким решением код не встанет?
Аноним 02/12/20 Срд 22:12:02 #348 №1871305 
>>1871296
>ты про огурец что-то слышал
Он нужен когда нельзя сериализовать данные. Нахуя его использовать для сохранения простой конфигурации?
Аноним 02/12/20 Срд 22:13:46 #349 №1871307 
>>1871305
2 строки кода:
1 - сохранить
2 - загрузить
ты - сосать
Аноним 02/12/20 Срд 22:15:23 #350 №1871308 
>>1871301
Смысл в условии?

Запустить бесконечный цикл. Он может быть прерван твоим действием или внутренним брейком.

Ну судя по тому что я вижу, а я вижу плохо, то при озвученных данных встанет намертво. Потому что внутри нету брейка. То есть прерывания цикла.
Аноним 02/12/20 Срд 22:19:06 #351 №1871314 
>>1871308
то есть всё как на C++ - пока цикл работает, всё стоит

смысл цикла из примера - максимально быстрая скорость отклика на какое-то событие

в реальном коде его использовать голым нельзя, а только пихать в какую-то функцию

и, как я опять же понял, его можно запустить с любым условием, например "while 10==10", но while True - это самый быстрый способ

Всё так?
Аноним 02/12/20 Срд 22:19:29 #352 №1871317 
>>1871307
>2 строки
json.dump(zalupa, open("zalupa.json", "w"))
zalupa = json.load(open("zalupa.json", "w"))
Аноним 02/12/20 Срд 22:20:59 #353 №1871320 
>>1871317
справедливо, тогда спасибо
Аноним 02/12/20 Срд 22:24:47 #354 №1871322 
>>1871314
Да. Можно запустить с любым объектом, который отдаёт True в виде значения. Просто 1 отдаёт это значение всегда.

Да, я так и подумал, что это кайнда тикток, который что-то измеряет, постоянно посылая сигнал, или генерирует дискретную волну.

В питоновском скрипте нельзя, он повесит скрипт намертво.
Аноним 02/12/20 Срд 22:31:57 #355 №1871327 
>>1871322
спасибо за объяснение
Аноним 02/12/20 Срд 22:37:25 #356 №1871331 
Что за агрессивные школьники в треде?
Аноним 02/12/20 Срд 22:38:40 #357 №1871334 
>>1871079
Древняя хуйня из второго питона, там while 1 работало быстрее чем while True
Аноним 02/12/20 Срд 22:48:10 #358 №1871349 
>>1871334
Скорее пришло с сишечки и других языков, где тру просто нет.
Вряд ли кто-то ебался так за скорость.
Аноним 02/12/20 Срд 22:52:19 #359 №1871359 
>>1871327
Не за что, анон.
Аноним 02/12/20 Срд 22:56:13 #360 №1871367 
>>1871334
Оно не работало быстрее, в ранних версиях Питончика boolean просто не было как класса.

Аноним 02/12/20 Срд 23:28:15 #361 №1871405 
>>1871367
В 1.5 раза быстрее
https://gist.github.com/haldean/1828270
Аноним 02/12/20 Срд 23:30:22 #362 №1871406 
Благодаря вам написал свою первую программу, сэкономил более миллиона рублей.

Аноны, расскажите, какие программы вы писали чисто для себя, для решения каких-то личных задач?
Аноним 02/12/20 Срд 23:37:53 #363 №1871408 
>>1871406
у меня собственная скачивалка сериалов с торрентов и заодно предоставляет расписание, которое берется из tvmaze и фильтруется по моим нуждам
Аноним 02/12/20 Срд 23:46:23 #364 №1871415 
>>1871405
Почему питон 3 такой медленный?
Аноним 02/12/20 Срд 23:56:14 #365 №1871423 
>>1871415
Что-то они с замерами накосячили
У меня этот скрипт без изменений, комп довольно старый, ноут при этом:
python2.7 tt.py
('while True: ', 0.5859780311584473)
('while 1: ', 0.4057488441467285)

python3.6 tt.py
while True: 0.6227456871420145
while 1: 0.6395597131922841

python3.7 tt.py
while True: 0.6898804837837815
while 1: 0.7296387189999223

python3.8 tt.py
while True: 0.6560212508775294
while 1: 0.6543496972881258

pypy3 --version
Python 3.5.3 (fdd60ed87e94, Apr 24 2018, 06:10:04)
[PyPy 6.0.0 with GCC 6.2.0 20160901]
pypy3 tt.py
while True: 0.012471317779272795
while 1: 0.012444301974028349

pypy3.7 --version
Python 3.7.4 (87875bf2dfd8, Sep 24 2020, 07:26:36)
[PyPy 7.3.2-alpha0 with GCC 7.3.1 20180303 (Red Hat 7.3.1-5)]
pypy3.7 tt.py
while True: 0.014255640096962452
while 1: 0.013212095946073532

Да, третий питон немного более тормозной, чем второй, на подобных вот операциях, это давно известно. Но умеренно.
Аноним 02/12/20 Срд 23:57:54 #366 №1871428 
>>1871423
У тебя 3.6
А там 3.2, в самом начале третий пистон жутко тормозил, поэтому не особо с двойки хотели переходить
Аноним 03/12/20 Чтв 00:07:11 #367 №1871435 
>>1871428
Запустил под докером. Там всё тормозит сильнее, видимо из-за системных вызовов виртуализованных.
docker run -it --rm -v $(pwd)/tt.py:/tt.py python:3.2 bash
root@6228fc6cf7e7:/# python tt.py
while True: 1.065101146697998
while 1: 1.0656909942626953

docker run -it --rm -v $(pwd)/tt.py:/tt.py python:3.8 bash
root@f58ff9555dc5:/# python tt.py
while True: 1.109615134075284
while 1: 1.102664346806705

То есть что 3.2, что 3.8 одинаково. Да и я сам в те времена тестировал, такое же ощущение было, что 3-я версия тормознее, но не сильно.
Аноним 03/12/20 Чтв 01:31:51 #368 №1871479 
1604861411637.jpg
Короче, если линейный array [0:x] каждые четырe значения - RGBA (4f), короче пиксели, нужно инвертнуть по Y
Проблема в том, что вот например flip по X
[code]
q = np.array(i.pixels).reshape(int(len(i.pixels)/4), 4)
i.pixels = q[::-1].flatten()
[/code]
работает, а по Y он почему-то меняет порядок, вместо RGBA я получаю ABGR то есть альфа первая и пиксели перепутаны.

Есть у кого какие мысли как можно правильно?
Аноним 03/12/20 Чтв 02:30:38 #369 №1871495 
сап,
на какую книгу лутца стоит обратить свое внимание?
в чем разница между "изучаем python" и "программируем на python"?
Аноним 03/12/20 Чтв 02:35:02 #370 №1871497 
>>1871495
Первую читай если учишь, вторую читай если программируешь. Это даже не шутка.
Аноним 03/12/20 Чтв 03:08:37 #371 №1871502 
Дарова аноны, такое дело, пишу паралельную функцию на С и нужно ее запустить в питоне, но без гемора c ctypes так он ее будет питонизировать, в общем мне нужно что бы питон передавал функции на С аргументы и принимал выходное значение.
только вез вот таких конструкций.

prog = r'''
#include<stdio.h>
int main(){

printf("Hello\n");
return 0;
}
'''
f = open('foo.c', 'w')
f.write(prog)
f.close()
subprocess.call(["gcc", "foo.c", "-ofoo", "-std=c99", '-w', '-Ofast'])
print(subprocess.call(["./foo"], stdin=sys.stdin))

за ранее спасибо
Аноним 03/12/20 Чтв 05:34:07 #372 №1871505 
>>1871479
>np.array(i.pixels).reshape(int(len(i.pixels)/4), 4)
На моменте, когда у тебя осмысленное название в строчку не влезло и пришлось переименовывать в i, стоило задуматься, сможешь ли ты этот мысленный конструкт осознать, чтобы потом отдебажить.
Аноним 03/12/20 Чтв 05:50:07 #373 №1871509 
>>1870601
Зачемучить dls ahk, если можно просто библиотеку на питоне импортировать?
Аноним 03/12/20 Чтв 06:37:09 #374 №1871516 
image.png
>>1871479
Тебе нужно знать размер картинки width x height x 4 и делать reshape(height, width, 4).
Аноним 03/12/20 Чтв 07:02:05 #375 №1871524 
>>1871516
>Тебе нужно знать размер картинки width x height x 4 и делать reshape(height, width, 4).
Ты явно не понимаешь, как работает reshape.
Аноним 03/12/20 Чтв 07:08:01 #376 №1871529 
>>1871524
Что не так?
Аноним 03/12/20 Чтв 07:19:22 #377 №1871530 
>>1871529
>Что не так?
Посмотри на свою картинку: первые четыре числа [1, 0, 0, 1], и после перестановки должно было получиться [0, 0, 1, 1], а не [0, 0.7, 0, 0.9] как у тебя.
Аноним 03/12/20 Чтв 07:34:30 #378 №1871532 
>>1871530
> первые четыре числа [1, 0, 0, 1], и после перестановки должно было получиться [0, 0, 1, 1]
RGBA в GBRA? Зачем? Он хочет инвертнуть по Y же.
Данные идут RGBA|RGBA|RGBA:RGBA|RGBA|RGBA, нужно переставить первый ряд со вторым, что и происходит.
Аноним 03/12/20 Чтв 07:41:59 #379 №1871533 
>>1871532
> Он хочет инвертнуть по Y же.
Понял, я в глаза ебусь. В таком случае ты делаешь правильно, но только переворачиваешь по оси X. По оси Y нужно вот так: a[:, ::-1].
Аноним 03/12/20 Чтв 08:53:54 #380 №1871546 
Откликнулся на джуниорскую позицию, сегодня приходит письмо -- "У нас в компании вообще нет команды разработчиков, так что вам полностью придется отвечать за результат и с нуля написать ERP систему." Это давно джуны так работают?
Аноним 03/12/20 Чтв 09:32:35 #381 №1871548 
>>1871130
>>1871157
Спасибо, уже сделал с помощью метакласса.
Аноним 03/12/20 Чтв 09:36:43 #382 №1871549 
изображение.png
Как на библотеке request сформировать пикрелейтед запрос?
Аноним 03/12/20 Чтв 09:56:50 #383 №1871556 
>>1871297
>да, они жрут память, но я понятия не имею сколько
Погугли профилировщики для питона, также есть функции которые показывают размер переменной типа getsizeof, int_info.
Аноним 03/12/20 Чтв 10:06:12 #384 №1871564 
>>1871546
Что за компания?
Аноним 03/12/20 Чтв 10:08:53 #385 №1871565 
>>1871549
Создаешь сессию, добавляешь к ней заголовок с авторизацией, а потом обычный post.
Аноним 03/12/20 Чтв 10:09:49 #386 №1871567 
>>1871565
Ну или если это одноразовый запрос, то можно вхуячить сразу в headers без сессии.
Аноним 03/12/20 Чтв 10:12:11 #387 №1871570 
изображение.png
изображение.png
изображение.png
>>1871565
Вот эту хрень как сформироват?
И пикрил 3 - это тело запроса, или часть заголовка?
Аноним 03/12/20 Чтв 10:14:36 #388 №1871573 
>>1871570
content length автоматически просчитается для поста, второе надо добавить вручную, а третье это тело поста, да.
Аноним 03/12/20 Чтв 10:19:20 #389 №1871576 
>>1871573
> content length автоматически просчитается для поста
То есть его можно вообще не вводить?
Или вводить всё же надо, но оставить пустым?
> второе надо добавить вручную
А откуда его взять? Ебучий яндекс на этот счёт вообще нихуя не написал в своей ебучей документации
Аноним 03/12/20 Чтв 10:23:48 #390 №1871579 
>>1871576
Не надо вводить.
>А откуда его взять?
айди и секрет у тебя должны быть, делаешь их через : и энкодишь в бейз64, ну и добавляешь такой заголовок.
Аноним 03/12/20 Чтв 11:27:46 #391 №1871611 
>>1871564
Да хуй знает, рандомный отклик на hh
Аноним 03/12/20 Чтв 11:38:10 #392 №1871616 
>>1871611
Я так троллю иногда тамошнюю фауну.
Аноним 03/12/20 Чтв 12:23:01 #393 №1871636 
Правда что рыночек пистон-вакансий на джуна сильно перегрет вкатунами? Просто сейчас из каждого утюга струится: "приходите к нам в питон, он очень очень легкий". И понятно что большинство не способных само отвалится по итогу. Но ведь благодаря рекламе много и умненьких ребят входят в айти через пистон. Сам писал только пару проектов на крестах, пробовал пайтон, он действительно хороший язык, но оч боюсь не найти работу из-за наплыва народу
Аноним 03/12/20 Чтв 12:43:55 #394 №1871639 
Какого хрена unittest не прогоняет проверку?

class FullStateTest(unittest.TestCase):

def setUp(self):
self.fs = FullState()

def check_instance(self):
assert isinstance(self.fs, int)

if __name__ == '__main__':
unittest.main()


Ran 0 tests in 0.000s

OK
Аноним 03/12/20 Чтв 12:55:47 #395 №1871647 
>>1871639
Тестируемые функции должны начинаться с test_
Аноним 03/12/20 Чтв 17:49:02 #396 №1871936 
Аноны, помогите, как распарсить эти байтики в integer?
b"\x00\x00\x00\x00\x00\x00'\x10"
Это по идее должен быть 0, но когда я пишу
struct.unpack('L', smpp_tx_node_value)[0]
то получаю 1163899028698562560 вместо 0
Аноним 03/12/20 Чтв 17:55:56 #397 №1871942 
Посоветуйте хороший курс по созданию сайтов на Djangoпожалуйста. Чтобы бесплатный был.
Аноним 03/12/20 Чтв 17:59:03 #398 №1871944 
>>1871936
s[0]
Аноним 03/12/20 Чтв 18:04:14 #399 №1871949 
>>1871944
Спасибо!!!!
Аноним 03/12/20 Чтв 18:20:14 #400 №1871971 
>>1871502
>>1871502
Чувак, подскажи, у меня есть CPU-intensive workload, однако я не могу использовать multiprocessing и насколько я знаю, нативный threading не сюйтабелен для компутации на Питоне из-за GIL. Какие уменя варианты с минимум зависимостей (python идет с blender)
Аноним 03/12/20 Чтв 19:02:43 #401 №1872016 
Есть отсортированный список float чисел. Как наиболее быстро обрезать все его значения которые меньше некого числа?
По идее список отсортированный, поэтому выполняться это должно быстрее чем O(n), как это сделать на практике в питоне?
Аноним 03/12/20 Чтв 19:06:27 #402 №1872021 
>>1872016
Классический бинарный поиск же.
Аноним 03/12/20 Чтв 19:21:55 #403 №1872041 
>>1872021
>>1872016
И для него есть модуль bisect
bisect_left будут числа строго меньше числа
bisect_right меньше или равны
Аноним 03/12/20 Чтв 19:35:41 #404 №1872061 
>>1872041
>>1872021
Почти верно, но ситуация не настолько проста как здесь:
a = [1, 3, 5, 7, 9]
slice = a[bisect.bisect_left(a, 6):

Это слишком простой кейс. Потому что у меня в списке лежат не числа а объекты. А вот у каждого объекта уже есть атрибут order. Как поступать в таком случае?..
Аноним 03/12/20 Чтв 19:44:23 #405 №1872080 
>>1872061
Сделать объект-обертку, чтобы он по индексу дергал этот атрибут.
Достаточно реализовать getitem и len, по-моему.
Аноним 03/12/20 Чтв 19:47:27 #406 №1872086 
>>1872061
>>> data = [('red', 5), ('blue', 1), ('yellow', 8), ('black', 0)]
>>> data.sort(key=lambda r: r[1])
>>> keys = [r[1] for r in data] # precomputed list of keys
>>> data[bisect_left(keys, 0)]
Аноним 03/12/20 Чтв 19:47:39 #407 №1872087 
есть 2 файла в строках первого есть строки из второго файла,
как сделать так что при совпадении строк из первого и второго в конец строки которая из 1го файла дописать текст?
Аноним 03/12/20 Чтв 19:52:01 #408 №1872093 
>>1872086
Ты же понимаешь что ты второй раз за О(n) проходишься по уже отсортированному списку?.. С таким успехом я могу просто пойти по списку через for each пока не встречу элемент, который превосходит тот, что я указал
Аноним 03/12/20 Чтв 19:53:07 #409 №1872095 
>>1872093
>>1872061
А вообще ответ на задачу прост. Чекаем исходный код модуля bisect, пишем свою функцию, которая принимает коллбек (лямбда-функцию) и работает уже на ее основе
Аноним 03/12/20 Чтв 19:53:08 #410 №1872096 
>>1872087
Если нет ограничений по памяти, то читаешь второй в сет, потом итерируешься по первому и смотришь в сете, пишешь в новый файл, в конце старый заменяешь.
Если есть, то итерируешься по первому, на каждую строчку итерируешь второй, дальше так же.
Аноним 03/12/20 Чтв 20:04:38 #411 №1872106 
>>1872093
Вообще принцип называется "дихотомия". Стартуешь со среднего элемента, тогда у тебя с каждой стороны от твоего элемента половина интервала. Если больше, выбираешь середину от первого интервала, если меньше, то от второго. И так далее рекурсивно.

Нужно только аккуратнее с округлением быть.

bisect нужен для того, чтобы свои велосипеды в этой части не изобретать, в простых случаях.
Аноним 03/12/20 Чтв 20:09:21 #412 №1872110 
>>1872080
https://ideone.com/TRi1sj
Аноним 03/12/20 Чтв 20:49:46 #413 №1872143 
1607017757099.jpg
Моя первая программка. Такой кайф когда что-то работает так как задумано)
Аноним 03/12/20 Чтв 22:38:54 #414 №1872283 
>>1872143
для чего бот?
Аноним 03/12/20 Чтв 22:49:27 #415 №1872288 
>>1872096
а можешь пример показать ?
как первого так и второго.
Аноним 03/12/20 Чтв 22:59:10 #416 №1872293 
2342342341.png
>>1871971
Я знаю что в numba можно отключать GIL (@ngit(nogil=True))
так же там есть паралейный рейндж (prange), и самое главное что он переводит в питон в своего рода машинный код через JIT компилятор, так же вы можете обратить внимание на cthon
Но конечно для лучший производительности лучше синергировать Python и С. (btw C довольно похож на питон, но {} и ; реально бесит)
Аноним 03/12/20 Чтв 23:27:04 #417 №1872310 
>>1872293
> btw C довольно похож на питон
любые императивные в таком случае похожи на питон
Аноним 03/12/20 Чтв 23:39:03 #418 №1872317 
>>1872293
>Но конечно для лучший производительности лучше синергировать Python и С.
Есть гайды для кикстарта?
Аноним 03/12/20 Чтв 23:44:51 #419 №1872322 
>>1872293
Ну так у питона с-лайк синтаксис с табами вместо курли брекетов, если что
Аноним 03/12/20 Чтв 23:48:14 #420 №1872323 
>>1872322
И что в нем си-лайк?
Вот перл си-лайк, в питоне по-моему ещё и намеренно дистанциировались от обоих.
Аноним 04/12/20 Птн 00:00:21 #421 №1872328 
>>1872317
Для большинства операций хватит cython
Аноним 04/12/20 Птн 00:07:48 #422 №1872336 
Хочу написать попап для двача. Есть советы по библиотекам?
Аноним 04/12/20 Птн 00:17:26 #423 №1872347 
>>1872293
>btw C довольно похож на питон
Вот совсем-совсем нет. Практически ничего общего. Только во втором питоне форматирование строк напоминало, но в третьем другое принято. И целочисленное деление во втором было, в третьем убрали.

А всё остальное другое. Циклы другие, if-else другие, switch нет, присвоение-сравнение нет (в 3.8 в виде особого оператора), оператора ++ нет, без которого Си не Си, никаких констант и #define, другое построение стандартной библиотеки, другие строки. То есть нет массы всего того, к чему привыкаешь в Си, и есть масса другого, чего нет в Си/C++ в принципе.

JS/PHP построены на базе Си, это да.

Аноним 04/12/20 Птн 00:18:10 #424 №1872348 
>>1872317
https://pyo3.rs/
Аноним 04/12/20 Птн 00:32:25 #425 №1872361 
>>1872328
По cython есть квик-гайд для брайнлета?
Аноним 04/12/20 Птн 00:59:27 #426 №1872376 
Ебанутый вопрос, по фронту, тк с беком проще на джанго, а где взять или вообще брать такие морды к форумам, как у двача или подобных, или вообще морды к форумам. Ну вы знаете, еще есть другие модные и молодежные форумы с регой, они вообще однотипные, где брать подобное?
Аноним 04/12/20 Птн 01:22:38 #427 №1872387 
>>1872347
я про вид синтаксиса, а не про что есть и чего нет
Аноним 04/12/20 Птн 01:36:38 #428 №1872389 
>>1872376
>как у двача
Двач можно и самому за день сверстать.
Аноним 04/12/20 Птн 02:34:18 #429 №1872403 
>>1872376
> морды
Я тебе завтра на дискету запишу и принесу. Какой адрес?
Аноним 04/12/20 Птн 02:37:27 #430 №1872404 
>>1872288
$5
Аноним 04/12/20 Птн 02:39:49 #431 №1872406 
1233.mp4
Хелп ананасы. Подскажите по вопросу с видоса.
Аноним 04/12/20 Птн 02:49:59 #432 №1872411 
>>1871093
ОТКУДА ТЫ ЗНАЛ?!?!?!
Аноним 04/12/20 Птн 03:00:44 #433 №1872414 
11123.mp4
>>1872406
Аноним 04/12/20 Птн 03:03:48 #434 №1872415 
>>1872411
Я его предвосхитил, начал сразу с видео)
Аноним 04/12/20 Птн 03:27:45 #435 №1872421 
11111.jpg
>>1872406
Дополню реквест пикчей
Аноним 04/12/20 Птн 03:32:55 #436 №1872423 
>>1872421
Проверяй isinstance или hasattribute.
Аноним 04/12/20 Птн 04:01:49 #437 №1872425 
Ньюфаг в треде. не бейте
Что из себя в среднем представляет тестировка приложений и почему для этого нужен питон?
Нашёл свою первую заявку до этого не работал. Нужен питон и знание "основ тестирования ПО". Чего мне ожидать от такой работы, как вообще тестировка проходит? С помощью специальных утилит или ручками?
Аноним 04/12/20 Птн 04:39:11 #438 №1872431 
1607045921967.jpg
>>1872423
Пыиался проверить атрибут класса, errorname выдаёт. Чяднт?
Аноним 04/12/20 Птн 04:46:36 #439 №1872434 
>>1872425
Тестировка блядь. Это что какой-то ебучий феминитив?
Гугли про selenium, pytest, unittest
Аноним 04/12/20 Птн 04:53:46 #440 №1872438 
image.png
>>1872434
Хех, начало мне уже нравится.
Аноним 04/12/20 Птн 04:54:51 #441 №1872439 
IMG20201204045351833.jpg
>>1872423
Аноним 04/12/20 Птн 07:21:12 #442 №1872474 
Screenshot139.png
Screenshot140.png
Почему код на первом пике работает, а код на втором нет? второй не выводит ничего после print(a)
Аноним 04/12/20 Птн 07:24:27 #443 №1872476 
>>1872474
Он работает, просто там печатать нечего.
Аноним 04/12/20 Птн 07:24:50 #444 №1872478 
>>1872474
Потому что он прочитал уже файл и больше не будет
Аноним 04/12/20 Птн 07:29:42 #445 №1872479 
>>1872478
В смысле не будет? Он чё охуел? Я то думал он закрывает файл только после выполнения всего блока кода под with
Аноним 04/12/20 Птн 07:55:53 #446 №1872484 
>>1872479
А он так и закрывает. Закрытие файла это просто освобождение дескриптора файла. Просто ты уже прочитал файл.
Аноним 04/12/20 Птн 08:07:35 #447 №1872486 
В общем вкратце файлы это итератор по его строкам, а как известно два раза итераторы нельзя прочитать
Аноним 04/12/20 Птн 08:11:25 #448 №1872488 
>>1872486
Файлы это файлы. Можно их сколько угодно раз читать и с произвольного места.
Аноним 04/12/20 Птн 08:28:34 #449 №1872492 
>>1872488
Ну если ты про file.seek() то да можно. Но это просто будет новый итератор по файлу. Хотя может я ошибаюсь
Аноним 04/12/20 Птн 08:56:57 #450 №1872498 
>>1872484
>>1872486
Стало немного понятнее, благодарю
Аноним 04/12/20 Птн 12:37:53 #451 №1872604 
[code=python]import Serial
serial.print[/code]
Аноним 04/12/20 Птн 12:40:21 #452 №1872606 
>>1872604
Нипонел, а почему не работает?
[code]
# Solve the quadratic equation ax2 + bx + c = 0

# import complex math module
import cmath

a = 1
b = 5
c = 6

# calculate the discriminant
d = (b
2) - (4ac)

# find two solutions
sol1 = (-b-cmath.sqrt(d))/(2a)
sol2 = (-b+cmath.sqrt(d))/(2
a)

print('The solution are {0} and {1}'.format(sol1,sol2))
[/code]
Аноним 04/12/20 Птн 12:41:12 #453 №1872607 
>>1872606
>>1872604
я правильно понял, что это https://github.com/ololoepepe/MakabaCode/
больше не работает?
sageАноним 04/12/20 Птн 12:59:45 #454 №1872630 
>>1872606
b2 это что? почему неправильно написал?
Аноним 04/12/20 Птн 13:57:28 #455 №1872684 
>>1872439
Норкоман, это классы. Батон проверяй.
Аноним 04/12/20 Птн 14:28:34 #456 №1872703 
screenshot.png
image.png
Наконец-то сделал свою первую программу!

https://github.com/cuteasci/changewall
Аноним 04/12/20 Птн 14:33:27 #457 №1872707 
>>1872703
Лол, я подумал, оно генерирует такие пикчи.
А так ничего интересного, анальные танцы с гуи тулкитом.
Аноним 04/12/20 Птн 14:37:40 #458 №1872712 
Парни, посоветуйте либу, которая работает с 2d векторной графикой. Хочу рисовать 2d-тян.
Сейчас смотрю на canvas в родном tkinter, turtle и pycairo. В какую лучше вкатиться и есть ли годная альтернатива?
Аноним 04/12/20 Птн 14:47:19 #459 №1872716 
>>1867362 (OP)
Есть даты формата:
'1970-01-02 00:00:00+03'

Как их адекватно сравнивать между собой?..
Аноним 04/12/20 Птн 14:56:41 #460 №1872722 
>>1872716
Смотри модули для дат, там должны быть средства парсинга и у готовых объектов уже сравнения.
Аноним 04/12/20 Птн 14:57:22 #461 №1872723 
>>1872716
if date1 != date2
Аноним 04/12/20 Птн 15:09:10 #462 №1872730 
>>1872716
Используй datetime
https://pythonworld.ru/moduli/modul-datetime.html

Сначала сведи значение в стандартный timestamp
datetime.timestamp() - возвращает время в секундах с начала эпохи.

А потом сравни между собой.
Аноним 04/12/20 Птн 15:43:40 #463 №1872748 
Помогите с юнит-тестами, пожалуйста.

Есть 2 списка с флотами: list1, list2.
Как их сравнить с учетом погрешности?

Я делаю assertAlmostEqual(list1, list2)
Получаю ошибку unsupported operand type(s) for -: 'list' and 'list'

Нужно вручную проходить по спискам?
Аноним 04/12/20 Птн 15:51:04 #464 №1872753 
>>1872748
upd.
сделал delta = np.max(np.abs(np.array(list1) - np.array(list2)))

assertAlmostEqual(delta, 0)

Но это колхоз какой-то
Аноним 04/12/20 Птн 16:13:49 #465 №1872766 
153976262391.png
Сап Антоши, помогите советом:

Есть программа на винде, грубо говоря, она сохраняет картинки, а информацию о картинке хранит в виде текста только на рабочем окне программы и не сохраняет. Направьте, как можно парсить эту инфу?

Стоит смотреть в сторону ArtMoney?
Или лучше воспользоваться этой программой:
https://www.youtube.com/watch?v=sSAbk7M3SYQ
а точнее, выводимой инфой "Class" или HWID
Аноним 04/12/20 Птн 16:22:32 #466 №1872776 
>>1872766
Это встроенный функционал шиндовс апи.
Там набор функций поиска окон, разных контролов и т.д.
Делов на десять минут.
Аноним 04/12/20 Птн 16:24:06 #467 №1872780 
>>1872753
Без numpy:
max(abs(x - y) for x, y in zip(list1, list2))

for x, y in zip(list1, list2):
....assertAlmostEqual(x, y)
Аноним 04/12/20 Птн 16:44:52 #468 №1872821 
>>1872780
Спасибо
Аноним 04/12/20 Птн 17:38:12 #469 №1872919 
Есть строка типа
>'iyr:2020, hgt:178cm, ecl:grn, hcl:#18171d, pid:613792489, cid:240, eyr:2028,
byr:1972'

Как конвертнуть ее в словарь? Пробую с json.loads но пока безуспешно
Аноним 04/12/20 Птн 17:41:02 #470 №1872925 
>>1872919
Ну или может кто в advent of code принимает участие - как вы в сегодняшней задачке распарсили строку?
Аноним 04/12/20 Птн 17:47:26 #471 №1872939 
>>1872919
>'iyr:2020, hgt:178cm, ecl:grn, hcl:#18171d, pid:613792489, cid:240, eyr:2028,
>byr:1972'
Я бы так распарсил, может модно как-то красивее, но я быдлокодер:

a = 'iyr:2020, hgt:178cm, ecl:grn, hcl:#18171d, pid:613792489, cid:240, eyr:2028, byr:1972'

dictionary = {}
for x in a.split(", "):
dictionary[x.split(":")[0]] = x.split(":")[1]
print(dictionary)
Аноним 04/12/20 Птн 17:54:03 #472 №1872949 
>>1872919
dict(re.findall(r'(.+?):(.+?)(?:, |$)', s))
Аноним 04/12/20 Птн 17:59:01 #473 №1872964 
>>1872919
dict([line.strip().split(':') for line in text.split(',')])
Аноним 04/12/20 Птн 18:03:52 #474 №1872973 
>>1872939
>>1872949
>>1872964
То есть менее колхозного способа нет?
Аноним 04/12/20 Птн 18:09:15 #475 №1872979 
>>1872973
dict_mne_zapili(str)
Аноним 04/12/20 Птн 18:12:39 #476 №1872989 
>>1872973
В чем колхозность-то придурок?
Любая абстракция то-же самое будет делать, просто скроет от тебя.

Самый верный способ взять memoryview на строку и и читать ее по символу
Аноним 04/12/20 Птн 18:48:23 #477 №1873052 
>>1872684

Да я понял. Там какая-то жесть блин с этой функцией. Поочерёдно выдаёт два разных класса, по два раза.
Единственное что приходило на ум, это перевести вывод в текстовую переменную и распарсить текст, привязать счётчик. Но это какие-то костыли костылей и я забил. Нашёл решение попроще хоть и менее удобное.
Аноним 04/12/20 Птн 18:51:19 #478 №1873054 
>>1873052
Какая жесть? Если приходит мув, то мув, если клик, то клик.
Всего то надо проверить инстанс, или есть ли там батон.
Дел на три копейки.
Аноним 04/12/20 Птн 18:55:04 #479 №1873056 
>>1873054
def on_click(x, y, button, pressed):
print('{0} at {1}'.format('Pressed' if pressed else 'Released',(x, y)))

with mouse.Listener(on_click=on_click) as listener:
listener.join()
Аноним 04/12/20 Птн 18:55:47 #480 №1873057 
>>1873056
>>1873052
Аноним 04/12/20 Птн 19:54:12 #481 №1873097 
>>1872821
Только учти, что зип отбрасывает лишние элементы, если списки имеют разную длину.
Аноним 04/12/20 Птн 20:21:03 #482 №1873114 
пацаны, а яндекс-практикум - параша? а то деньги не малые, но вроде как выглядит нормис программа (я про продвинутый курс - не бегинер)
Аноним 04/12/20 Птн 20:22:26 #483 №1873118 
>>1873054
>>1873056
О, спасибо бро! Твоя функция работает.
Аноним 04/12/20 Птн 20:26:50 #484 №1873121 
>>1873114
а ты им напиши. теми же словами.
Аноним 04/12/20 Птн 20:38:36 #485 №1873128 
>>1873114
Продвинутый это когда может погуглить или почитать документацию?
Аноним 04/12/20 Птн 21:18:25 #486 №1873145 
>>1873128
Доки Питона - говно полное. Они есть, но толку 0, когда тебе нужна специфика.
Аноним 04/12/20 Птн 21:30:19 #487 №1873156 
У меня есть много строк, в которых надо заменить определенные символы другими. Как это сделать наиболее четко в Питоне? Вариант с:
phone_number = raw_phone_number.replace('-', '').replace('(', '').replace(')', '').replace(' ', '')

(например если мы очищаем номера телефонов) не катит, мало того чтоб смотрится не очень, так еще и проходится по одной и той же строке несколько раз вместо одного
Аноним 04/12/20 Птн 21:36:11 #488 №1873164 
>>1873156
maketrans, translate
Аноним 04/12/20 Птн 21:40:52 #489 №1873166 
>>1873156
Напиши хелпер, который принимает memoryview строки и мап символов замены и делай всего один проход. При желании можно даже сделать так, что бы всего одна аллокация была
Аноним 04/12/20 Птн 21:48:16 #490 №1873171 
>>1873145
Это проблема твоя, а не доков, они лишь описывают наличный функционал.
Аноним 04/12/20 Птн 21:59:34 #491 №1873178 
>>1873171
Нет. Официальные доки по языку програмиррования должны описывать всю спефицику функционали и behind the scenes
Аноним 04/12/20 Птн 22:05:25 #492 №1873181 
>>1873178
Ну покажи несколько примеров.
Аноним 04/12/20 Птн 22:07:54 #493 №1873187 
>>1873181
MSDN и C#
Инфма о thread-safety
edge-cases
size and marshaling
etc
Аноним 04/12/20 Птн 22:20:49 #494 №1873192 
Аноны, сейчас пришло время уходить с моего первого иде - Пискриптер - и установил Анаконду со Спайдером.

И просто охуел от его тормознутости. Это я тупой или это норма? Типа простые иде быстрые и лёгкие, а другие - тяжёлые для моего нубука?

По интерфейсу спайдер очень приятный, кста.

Мб я затупил и не убрал что-то в настройках, подгрузке и тп?

Сорри за нубский вопрос.
Аноним 04/12/20 Птн 22:25:22 #495 №1873194 
>>1873156
Используй translate. Сходу не вспомню как она аргументируется, но она позволяет создать словарь переименований, и проходить будет один раз.
Аноним 04/12/20 Птн 22:25:58 #496 №1873195 
>>1873192
Да, убери там галочки "Сложна" и "Тормоза", это специально делают, чтобы отпугивать вкатышей.
Аноним 04/12/20 Птн 22:29:14 #497 №1873196 
>>1873195
Конечно же, не бывает программ, которые по умолчанию подгружают заранее некие не всегда нужные библиотеки и программы типа того же кайт, которые я уже отключил.

Ты безусловно показываешь себя таким образом профи, а не тупым мудаком. Мои поздравления.
Аноним 04/12/20 Птн 22:32:45 #498 №1873198 
>>1873196
VScode + pylance
Аноним 04/12/20 Птн 22:39:42 #499 №1873202 
>>1873196
Да, профи так и ведут себя, поэтому тупые мудаки проталкивают везде коде оф кондакт.
Аноним 04/12/20 Птн 22:42:11 #500 №1873204 
>>1873198
Спасибо. Он будет быстрее на средненоуте?
Аноним 04/12/20 Птн 22:44:15 #501 №1873205 
>>1873202
Ага, пизди больше.
Аноним 04/12/20 Птн 22:46:01 #502 №1873207 
>>1873204
Все остальное говно по-отключай и должон быть неплох. Старпт будет тугой, но как разгочегаришь - то норм.
Попробуй.
Аноним 04/12/20 Птн 22:47:43 #503 №1873209 
>>1873207
Окей, спасибо, анончик.
Аноним 05/12/20 Суб 02:43:26 #504 №1873284 
ПЕРЕКАТ

>>1873283 (OP)
>>1873283 (OP)
>>1873283 (OP)
>>1873283 (OP)
>>1873283 (OP)
Аноним 06/12/20 Вск 17:12:19 #505 №1874343 
Аноны, насколько хорошо нампай вектора дружат с фракциями?

Я вижу, что они работают вместе, но боюсь что посередине кода будет выкинут какой нибудь сюрприз.

С точки зрения нампай фракция - такой же вид намбера как и интегер или флоат, но мб они в чем-то конфликтуют? Не встречалось?
comments powered by Disqus

Отзывы и предложения