Этого треда уже нет.
Это копия, сохраненная 3 апреля 2023 года.

Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
image25 Кб, 3840x2160
Тред питона №155 /python/ 2590923 В конец треда | Веб
Тред, посвящённый языку программирования Питон, #154

Предыдущий: >>2582246 (OP)
Литература:
https://ln2.sync.com/dl/cf2c1d070#xq4s328t-xbbjys2z-9r6j7ss7-gf4e9dv6 <-- Книжки, новое собрание
Ещё книжки: https://yadi.sk/d/HQhhsBsq3TVRUq
Тоже книжки: https://yadi.sk/d/tArKKuQu3Kejuq

Анон, вместо того, чтобы без разметки постить код, лучше шарь его через специальные ресурсы:
https://ideone.com/ - возможность постить листинги кода и онлайн-запуска, не требует регистрации
https://dumpz.org/ - можно постить листинги, не требует регистрации
https://pastebin.com/ - для листингов, регистрация не обязательна
https://goonlinetools.com/snapshot/share/ - для листингов, без регистрации, но с капчей

#######################################
Вопросы-ответы:
— С чего начать изучать питон?
У питона намного лучше официальная документация, чем у большинства других языков. Есть там и учебное пособие для начинающих: https://docs.python.org/3/tutorial/introduction.html , неофициальный перевод на русский язык: https://digitology.tech/docs/python_3/tutorial/introduction.html (для питона версии 3.8, но разницы почти нет)

— Какие книги считаются лучшими?
На слуху чаще всего Лутц, но там очень много воды. Ещё на слуху Марк Саммерфильд, Эл Свейгарт "Автоматизация рутинных задач с помощью python". Эти книги рекомендуют чаще всего, но книги довольно старые, а питон развивается.

— Есть у кого на примете годный курс лекций по алгоритмам? Формат лекций мне как-то ближе, нежели просто чтение книги.
МФТИшный курс, например, https://www.youtube.com/playlist?list=PLRDzFCPr95fK7tr47883DFUbm4GeOjjc0

— А как учить джангу? Нахожу только книги по джанге 1.х
У джанги отличные доки (одни из лучших для пистоновских либ, имхо), почитай их для начала. Книгу по джанге можно читать даже для версий 1.x, т.к. принципы остаются теми же. Но лучше хотя бы с версии 2.0, слишком много мелких изменений в базе.

— Какие веб-фреймворки стоит учить в начале двадцатых?
Что бы не говорили, Джанго живее всех живых и умирать не собирается (и Django REST Framework), очень перспективный асинхронный FastAPI, асинхронный AioHTTP. Flask ещё где-то используется, но уже legacy. Прочие фреймворки или у нас экзотика, или это вымирающее легаси как Торнадо.

— В ньюфаг-треде написано, что нужно начинать с SICP, чтобы научиться программировать
Вот, пожалуйста, та же самая программа, но частично переработанная под язык Python: http://composingprograms.com/ (нужно знать ангельский или уметь пользоваться переводчиком)

— Что можно почитать/посмотреть по многопоточности/параллелизации в питоне, да и вообще в целом?
Ролик на американском языке про многопоточность и асинхронность, построение своего event loop с нуля, помогает понять, как устроена асинхронность внутри: https://www.youtube.com/watch?v=MCs5OvhV9S4[РАСКРЫТЬ]

— Можно ли на питоне делать мобильные приложения?
Да, смотри на фреймворк Kivy https://en.wikipedia.org/wiki/Kivy_(framework) https://kivy.readthedocs.io но народ на него жалуется

— Как можно без лишней возни ускорить программу на питоне
1) проверь сначала свой код, алгоритмы и структуры данных. Чаще проблема здесь.
2) код можно иногда феерично ускорить, используя JIT (Just-in-Time) компиляцию. Почитай обязательно про модуль numba, он ставится через pip, и альтернативный интерпретатор PyPy.

— Дайте нормальные книжки на русском! Мы, блядь, не в пиндосии живём
Брат, смотри книжки по ссылкам в шапке, там есть и русские. Но помни, без языка ангелов твоя жизнь проходит мимо и ты обречён быть на обочине знаний и технологий.

старая версия шапки, треды 90-148 и ранее: https://dumpz.org/bASGKD8cCFDf
ps: анон, если ты вносишь изменения в шапку, оставляй ссылку на код с обновлённым исходником.
текущий исходник: https://goonlinetools.com/snapshot/code/#8gd2g1snu3l8i26k0bc6k9
image.png162 Кб, 1412x741
2 2590932
Вкатуны, вкатуны everywhere.
59A1DBCF-FE66-4B61-809D-FD75A35FA2C3.jpeg56 Кб, 815x627
3 2590944
Захожу в лифт. Нажимаю на 4 и 5 этаж. Добавил эти значения в массив.

Поехал.

Доезжаю до 4 этажа и нажимаю кнопки 1,2,6,7
Теперь у меня в массиве [5,1,2,6, 7]

Как известно, лифт едет до конца в одном направлении и только потом разворачивается. То есть он должен сначала поехать на 5,6,7 этажи и только потом на 2 и 1.

Как это лучше всего реализовать? Как отсортировать, чтоб получилось [5,6,7,2,1]? Чтоб было коротко и элегантно.
download (1).jpg31 Кб, 637x358
4 2590965
>>590944

>Как это лучше всего реализовать? Как отсортировать, чтоб получилось [5,6,7,2,1]? Чтоб было коротко и элегантно.



придумай что-то стандартное с

иф массив > этаж
массив2.аппенд
image10 Кб, 224x225
5 2591020
>>590944
lift = [5,1,2,6, 7]
lift = sorted(lift, key=lambda f: f-lift[0] if f>=lift[0] else abs(f-lift[0]*2))
6 2591030
>>590944
Сделай две кучи, для состояния лифта вверх и вниз
Для езды вверх minheap, для езды вниз maxheap
Допустим ты едешь вверх, все что ниже текущего этажа, добавляешь в maxheap, все что выше в minheap, при следующем шаге достаешь следующий этаж из minheap, пушишь новые значения в соответствующие кучи и так пока minheap не закончится. Дальше едешь вниз и т д.
7 2591040
>>591030

>Сделай две кучи


Сделал. А что в питоне писать так и не понял.
8 2591064
>>591040
Ну кучи. Кучу сделай. Данные берешь и кидаешь в кучу, они сами за O(n) сваливаются в двоичное дерево в порядке возрастания.
https://docs.python.org/3/library/heapq.html
heapify(my_list) делает из списка minheap, из которой можно делать heappop(my_list), всегда возвращающее минимальное значение, а все что ты в нее закидываешь, вставляется не нарушая порядок.
Чтобы сделать maxheap, можно просто в кучу кидать числа, помноженные на -1, они как раз встанут в нужный порядок
9 2591066
>>591020
Лучше так, а то если наш лифт в нутри ХМАРОЧЕСА высотой 50 и 100 этажей то прежнаяя сортировка будет выдавать ошибку
lift = sorted(lift, key=lambda f: f-lift[0] if f>=lift[0] else abs(f-max(lift)))
10 2591075
>>591064

>они сами за O(n) сваливаются в двоичное дерево


Т.е. куча это просто массив элементы которого упорядываючеючеюваючеются при добавлении?

Я пока ещё кучи не особо касался. знаю что они есть но т.к. применения для себя я в них не видел то и не вникал особо.
11 2591092
>>591075
Можешь считать это массивом, который всегда упорядочен, но у тебя есть доступ только к минимальному элементу, который сверху. Удобно, когда нужно работать с пополняющейся очередью из данных, обрабатывая в приоритете текущий минимальный элемент. Как раз твой случай с лифтом.
12 2591093
>>591066
Ещё abs() надо убрать.
13 2591169
>>591040

молодец. теперь назови левую walrus operator, а правую structural pattern matching
14 2591248
>>591075
Это база. Во многих алгоритмах используется.
15 2591322
Аноны, вопрос не по питону а скорее по переходу к стандартам ПЕП8.
Подскажите регулярку, чтобы я мог во всех своих файлах в нотепаде++ заменять табы в начале строк на 4 пробела. В регулярках позитивный просмотр назад не поддерживает квантификатор, так что я не знаю как мне заменить четыре таба на 16 пробелов. А 2 таба на 8 пробелов одной регуляркой.

Может вы знаете?

В нотепаде есть замена табов на пробелы, но она там для ВСЕХ табов а не только для тех что в начале строки.
16 2591410
>>591322
tab это \t
что-нить типатакого должно быть
re.sub(''\t", " ", string)
16400987048090.jpg148 Кб, 1036x869
17 2591417
не пойму как решить эту задачу
18 2591418
>>591417
создаёшь список для открывающихся скобок и добавляешь их туда все проходя по строке, если попадается закрывающейся, то сравниваешь её с последней в списке. Если всё нормально, то удаляешь её из списка и идёшь дальше по строке, если нет, то сразу же False.
f82f9d389f0bd6e622ef5181fc6773ba.jpg97 Кб, 720x706
19 2591426
>>591417
cчитаешь скобки, их должно быть одинаково. Смотришь первую и последнюю - должны быть правильными
Ну и хватит
20 2591435
>>591410
Не средствами питона, мне просто строка регулярки нужна которая бы это делала за один проход. Вот просто чистая регулярка без всего и без переменных питона, чтобы можно было эту строку везде использовать и в нотепаде++

Я так и не придумал как это сделать за 1 проход. Максимум за 2.
Screenshot104.jpg69 Кб, 1131x689
21 2591453
>>591435
Регулярка не заменяет ничего сама по себе, она просто находит совпадения и отмечает их.
Что бы найти таб регулярку и писать не нужно, это просто /t
А уж заменить их пробелами или другими знаками это уже нужны дополнительные средства. Вроде можно это в notepad++

Через re.sub всё за один проход можно сделать.
Хотя если тебе в начале строки нужно, то нужно \B\t

Глянул, всё там легко меняется.
Вместо пробелом только П, что бы было проще читать
22 2591456
>>591453
хотя \B это я перемудрил, это для другого
просто ^ вместо \B
23 2591462
>>591453
Чел ты.
Вот смотри, у меня в начале одной строки три таба, в начале другой стоки один таб, в начале десятой строки десять табов

Если я их заменю с помощью ^\t заменится только самый первый таб в начале строки. Если я их заменю с квантификатором ^\t+ у меня и 10 табов превратятся в 4 пробела и 2 таба превратятся в 4 пробела

А надо чтобы каждый таб по отдельности стал 4 пробелами. Я вроде бы всё четко описал.
24 2591467
>>591462
А, ну через notepad тогда хз как.
Через питон можно было бы найти сколько там табов в начале строки, удалить их и вставить в начале проблеы*колличество табов.
через notepad вряд ли можно.

Регулярные выражения это не волшебная палочка.
25 2591468
>>591467
Так через питон то я бы и не спрашивал. Там что угодно можно сделать, даже прямо внутри регулярки функцию поместить.
26 2591469
>>591462

а зачем тебе лукбехайнд?
просто замени табы на пробелы

где в питоне у тебя будет таб в середине строки? нигде
27 2591470
>>591469
Да я уже скрипя зубами через макросы сделал в два шага
1) (?<=^)\t|(?<=<flag>)\t
2) <flag> -> 4 пробела

А вот это вот "где в середине будет нигде." я так не могу, надо чтобы было всё надежно и проверяемо. У меня сотни наверное уже сотни скриптов с табами, теперь дуду потихоньку перекатываться в пробелы и хочу быть уверен что где-нибудь в середине не ебнет.
29 2591472
>>591471
Интересно. Может и накачу. Ну так-то важные дела я через пйчарм делаю, там пеп8 инспектор и так есть, а нотепад это для души - всё скриптики для дома, для повседневных нужд, для быстрого запуска отдельных py файликов.
30 2591473
>>591470

>А вот это вот "где в середине будет нигде." я так не могу, надо чтобы было всё надежно и проверяемо.



так и где в питоне в середине строки табы?
31 2591475
>>591473
Например в строках.
32 2591480
>>591475
и как насчет мультилайн строк? что если там табы в начале строки и ты всё сламаишь?
33 2591483
>>591480
Да, спасибо за замечание, теперь буду иметь это в виду. Хорошо что мультилайн легко чекнуть, это всегдазаметный кусок текста, иначе смысла его делать мультилайном нет.

Как уж этого избежать в простой регулярке я даже представить не могу.
34 2591532
Аноны есть ли в ОС виндоус способ проверить дату изменения ДИРЕКТОРИИ, без проверки файлов? У директории такой параметр есть вообще? Я не нашел. Или может какой-нибудь трюк для этого имеется? Нужно просто чекать изменилась ли папка, если где-то в её глубинах микрофайл поменялся. Проверка размера это walk по всей директории со сложением размеров, не подходит.
35 2591534
>>591532
да, способ есть
36 2591541
>>591532
Не скажу точно, но скорее всего нет. Файлсистемы стараются изменять минимум метаданных на каждое изменение. И чтобы проверить что точно ничего в целом поддереве не изменилось, нужно сканировать всё поддерево.
37 2591542
>>591532
В линупсе есть системный inotify, гугли аналоги в шиндовс, может и есть.
38 2591666
str.find('foo',321)
Этот метод делает срез или просто с индекса стартует?
Что лучше str.find() или re если надо по строке пройтись один раз собирая индексы?
39 2591678
>>591666
timeit
40 2591727
>>591678
Спасибо братишка, как будто не на дваче, а на ОТВЕТЫ МАЙЛ РУ зашел.
41 2591745
>>591727
Какой вопрос, такой ОТВЕТ МЕЙЛ РУ.
Это проверяется экспериментально за пять сек, какой смысл спрашивать?
42 2591764
>>591745
Я про делает ли метод срез спрашивал.
43 2591773
>>591764
Там все поисковые методы на слайсах, можешь посмотреть где используется https://github.com/python/cpython/blob/main/Objects/unicodeobject.c#L8728
16748618028850.png293 Кб, 2610x1682
44 2591809
Лямдодрочеры, оправдывайтесь.
45 2591810
>>591809
С разморозкой.
46 2591876
Как открыть окно tkinter по нажатию на сочетание клавиш? Пробовал в отдельном треде запускать keyboard.add_hotkey а в главном открывать само окно - нихуя. Что делать?
47 2591888
>>591809
Причем тут лямпда, если хватит и обычного /?
48 2592260
>>591809
)))))))))))))))))))))))))🤡
49 2592297
Ну че, петухоны, все погромируете ресурсоемкие хелловорлды?
50 2592306
>>591809
Не понял, че опрадываться то? Вроде пчел все правильно зделол.
51 2592322
>>592297
Погромирую модели с модулями на плюсах и ассемблерных вставках. Вопросы будут?
52 2592325
>>591417
tmp='(('
a=0
for q in tmp:
if q == ')':
a = a-1
else:
a = a+1
if a < 0:
break

if a:
print('wrong')
53 2592408
>>592322
Че в петухон трэде забыл?
54 2592427
>>592408
Так основа кода на петухоне, а то что плохо работает выношу на плюсы.
55 2592439
>>592297
Ну чё, байтоёбик, всё никак не допишешь свой самый быстрый оптимизированный первый хелловорлд?
14895104592670.gif21 Кб, 150x150
56 2592442
>>592427
Хуя ты крут!
57 2592445
>>592427
А предметная облась кокакая? Можно в обобщеном виде
58 2592456
>>591876
А просто, вне приложения, keyboard.add_hotkey в хелловорлде работает? В треде если тупо print делать тоже работает?
59 2592459
>>592445
На работе - логистика морского товарооборота. Дома - как и всякий уважающий себя МЛ-джентльмен создаю сильный ИИ, новую ступень эволюции человечества.
60 2592462
>>592439
Ты че так полыхнул то сразу?
мое увож.jpg50 Кб, 500x396
61 2592463
62 2592467
>>592459

>МЛ


>ИИ


)
63 2592476
>>592467
Да не трясись ты
64 2592487
Вопрос про перекрестные импорты (скорее всего), никак не могу разобраться, хотя и читал разную лит-ру:

Есть модуль "Игроки" и модуль "Предметы". В модуле "Игроки" есть функция, показывающая все возможные действия в текущий момент. Если у игрока есть с собой предмет, то появляется действие "Прочитать описание предмета". Описание предмета хранится в модуле "Предметы" соответственно. В модуле же "Предметов" есть функция использования предмета, которая влияет на игрока, вызывая методы класса "Игрок".
Так и получается цикличный импорт. А если его убрать, то непонятно как вызвать функции/методы из другого модуля.
Как быть?

Если перевести на двачевский, то есть два стула: пики точеные вызывает методы хуев дроченых, а те ссылаются на класс пик. Как перекрестье убрать и как код написать?
65 2592525
>>592487
if 'jigurda_modul' not in globals():
import jigurda_modul
66 2592536
>>592476
потряс своего питона тебе за щеку
maxresdefault (1).jpg72 Кб, 1280x720
67 2592539
68 2592557
>>592525
The use of global variable in python is considered bad practice and should generally be avoided
69 2592559
>>592557
Ты рофлишь чтоли или правда такой нуфаг?
70 2592560
>>592536
Это ты так каминг аут сделать решил?
71 2592567
>>592557
Скриптовый язык запрещает писать скрипты, лол.

>>592487
import это тоже команда, и она тоже выполняется в рантайме, там нет никакого волшебства. Изначально модуль это пустой объект, который по мере выполнения наполняется местными глобалами, включая def и class (которые кстати тоже команды и тоже выполняются по порядку).

Ты можешь сделать цикличный импорт так, что всё будет работать. Главное импортить сам модуль, не пытаться резольвить отдельные имена в нём (пока они ещё не просрались), откладывать это до последнего.

from hui import a, b, c

from piki import x, y, z

Вот эта херня скорее всего упадёт, так как все def далеко после импортов идут.

import hui

import piki
def ...:
..hui.a()

Вот так скорее всего сработает.

Но вообще рекомендуется делать граф импортов без циклов. Оставить в модуле про игроков только то что касается игроков, в модуле про предметы только то что касается предметов. И сделать третий модуль, который реализует кросс-функции и импортирует два предыдущих.
72 2592570
>>592462
Хуй знает как такому животному, как ты, объяснить что-то про трейдоффы иначе.
73 2592574
>>592567
Опять нейронка обезумела.
14232508552457.jpg43 Кб, 400x296
74 2592576
75 2592578
>>592487
Нет такой проблемы в петухоне.
Импортируй перекрестно, все магическим образом будет работать.
76 2592664
Бля никак не могу придумать имя для гитхаба.
77 2592679
>>592664
Карасик
79 2592702
>>592664
Очевидно берёшь имя греческого бога или что-нибудь популярное из поп-культуры.
80 2592704
>>592702
joker занято
image.png1,2 Мб, 1500x1000
81 2592705
>>592704
Ну напиши private-joker
82 2592711
>>592664
pid0ra55
83 2592714
>>591417
По кругу ищешь и удаляешь из строки подстроку "()".
Если длина строки равна 0 - возвращаешь True
Если подстрока отсутствует - возвращаешь False
84 2592750
>>592704
Попробуй Σ-male.
85 2592760
>>592714
А если такое задание
{}({[]})[][{(([]))}]
86 2592761
>>592760
Мудила, подобные задачи решаются через стек как нехуй делать.
image.png19 Кб, 373x43
87 2592766
>>592760
Ты ебанутый?
88 2592776
>>592761
Какой ты умный, но даже не понял к чему я это написал.
89 2592837
>>592776
Ну давай, объясни мне
90 2592863
>>592664

>не могу придумать имя для гитхаба



придумал тебе имя для гитхаба:
https://github.com/name-for-github
91 2592873
>>592664
RussianCrimea
92 2592899
>>592664
sh1t_and_st1cks
Стикер191 Кб, 500x500
93 2593013
>>591809
pd.cut
94 2593017

>history = model.fit(train_generator, epochs=50)


>module 'tensorflow' has no attribute 'to_int32'


Очевидно с датасетом что то не так. Но что.
Стикер512x512
95 2593063
Аноны, что для глаз лучше, темная тема (темный фон, светлые символы) или светлая тема (светлый фон, темные символы)?

Для мониторов понятно лучше темная тема. А для глаз?

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

К чему себя приучивать чтобы потом не переучивать?
96 2593069
>>593063
Я тёмные темы терпеть не могу. Но думаю для глаз тут всё одинаково плохо, потому что всё равно пыришь в экран долго и упорно, так что близорукости не избежать, да и париться тут смысла мало. Близорукость в современной цивилизации проще фиксить, чем птаться избегать
97 2593071
>>593063

>что для глаз лучше


Нормальный экран, а не шимоледокал для додиков!
98 2593074
>>593069
У меня и так близорукость с сосничества ещё задолго до того как я просто за кудахтером сидеть начал.
Интересует всё-таки теоретический аспект вопроса. Гуглинг выдает всякую сомнительную хуиту, вроде противоречивых мнений нонеймов, видимо настоящих исследований на эту тему не было.
99 2593075
>>593071
Синий цвет главное резать, лучше ночной свет на постоянке использовать
100 2593079
>>593074
Да главное резать синий цвет. Ночной фон тем лучше, что там синего цвета меньше в глаза бьёт, а устают они от него, но можно просто включить ночной режим на винде 10 или программками разными, если другие ОС, плюс чисто на монике скрутить в настройках можно.
Это обязательно, остальные настройки это хз, но синий цвет точно резать надо.
101 2593080
>>593079
И для меня такой вариант намного лучше, ибо тёмные темы я просто не переношу. Но кому-то может и тёмный фон просто лучше
102 2593081
>>593080
Ну и с яркостью ещё можно поработать, снизив её, но это уже такие настройки которые от самого монитора зависят. Ибо некоторые, особенно недорогие, могут просто вместо фар использоваться
103 2593090
я бл уже в третий тред это пишу!

прив ребятки и девчатки.

Вопрос такой - как быть если удобно иметь в словаре какой-то not serializable объект, если периодически нужно дампать весь словарь в json?

Пока что приходится временно вынимать объект из словаря, дампать а потом вставлять обратно, но это пиздец костыли, хотелось бы чтобы json сам понимал что это не текст и что его можно просто пропустить.
104 2593096
>>593090
Сделай свой сериализатор
105 2593099
106 2593100
Ввожу руками все значения - дает зарегаться без телефона. Ввожу через силениум - просит телефон. Везде расставил тайминги, сделал медленный ввод, нихуя не помогает. Как они меня детектят? Дело точно не в браузере и не в IP, когда руками прям в этом же chrome драйвере ввожу, все проходит, при этом на автоматизацию остальных пунктов (как пол и дата рождения) не триггерится, только на те, где надо что-то вводить текстом.
107 2593119
>>593100
понимаешь какая штука.
они просто собрали кучу признаков.
потом взяли спамеров, про которых спустя несколько недель стало известно что они спамеры и натравили алгоритм. Например, логистическую регрессию.

Таким образом, совершенно невозможно предугадать как именно тебя детектят. Это не человеческий способ мышления.
108 2593134
>>593119
Ой, какой там ОЛГОРИТМ, он просто не триггерит какой-то эвент, который валидирует форму.
109 2593159
>>593100
А можно сделать такую невидимую область на всю страницу, которая пропускает через себя вообще всё, но регает клики? Чтобы вот таким образом, если ты просто отправил клик по кнопке, но не отправил клика по этой невидимой области то тебя считают ботом.
А если такую невидимую кнопку прикрутить к каждой кнопке?
110 2593191
>>593063
Разве не поебать? Какая нравится такую и ставь. Остальное докручивается ночным режимом / яркостью экрана. В темноте делай поменьше яркости, в освещённом побольше.
111 2593194
>>593099
Бля, а я постоянно класс наследовал.
112 2593200
>>593159
Легко. Ещё можно за mousemove следить.
113 2593250
>>593200
Поэтому надо клин клином вышибать. Прикручивать к селениуму клик через апи ОC. Но для этого нужно определять настоящие координаты элемента на экране. Для этого нужно распознавание изображения.
114 2593258
>>590944

>Как это лучше всего реализовать? Как отсортировать, чтоб получилось [5,6,7,2,1]? Чтоб было коротко и элегантно.


Вот тебе вариант, который наверняка используется в реальных лифтах, поскольку вычислительных мощностей там не ахти. У тебя есть состояния, "лифт едет вверх", "лифт едет вниз", "лифт стоит", "лифт приостановлен" (хранится отдельно, чтобы не затереть направление движения) ну и что-то с дверями опционально, ещё есть список запланированных остановок и текущий этаж. Переходя на следующий этаж ты проверяешь, есть ли этаж в списке на остановку, надо ли тебе продолжать движение и не достиг ли ты крыши/дна. Потом, когда стоишь и начинаешь движение проверяешь, есть ли в списке элементы дальше по ходу движения, если нет, разворачиваешься.
Возможно, списков остановок будет два: один для вызова изнутри, другой - для вызова снаружи (учитывается, если лифт стоит, когда внутренний список остановок пуст и при движении вниз).
115 2593267
>>591417
База.
Идёшь по строке. Находишь '(' - увеличиваешь каунтер, находишь ')' - уменьшаешь каунтер.
Если каунтер вывалился в минус - False. Если дошёл до конца и в каунтере не ноль - False. В остальных случаях - True.
(И радуйся, что это просто скобки одинакового вида, а не теги или миксы скобок, где нужно иметь в виду, в каком порядке они должны закрываться, хотя это не намного сложнее).
Среди алгоритмов, которые тебе предложили, кстати, есть те, которые работают для микса скобок, но они сложнее.
116 2593275
>>593250
Хех. Не туда воюешь. В дом апи всё равно дом эвенты приходят, можешь их качественнее подделывать. Но вообще хорошо, что почтоспамеры соснулей
117 2593285
Сап, у меня хуевый вопрос.
Понадобилось написать код небольшой программки для расчета
считаю saidi по заданным критериям. Я не прогер, на питоне умею только хелло ворлд делать. Поэтому я сижу в chatgpt и пытаюсь вытащить код из нейросети. Сначала я прошу его сгенерировать только окно для ввода данных и расчет формулы, он это делает, все работает, модули подключаются, gui генерится с PyQT. Потом я каждый раз прошу редактить отдельный кусок кода чтобы добавить функционал типа больше коэффициентов, расчет по итерациям, рисование графика - это говно не укладывается в одно сообщение, что логично, и генерирует код кусками, причем всегда следующая часть кода уже с другими именами атрибутов и переменных. Это я еще понимаю, имена поправить могу, но остальная часть тоже вообще другая. Типа в первом методе он придумал выводить окно через QWidget и запрашивать каждый раз ввод, в следующем методе он совершенно другой принцип использует. Запросы чтобы он опирался на свой предыдущий аутпут проходят мимо, просто доебало уже. Короче я подумал, что нужно задавать условия строже и генерировать маленькими кусками. Как мне тогда лучше строить запросы, какие модули использовать? Могу я для вывода окна сделать один модуль, для расчета формулы второй, для построения графика третий? Для интерфейся PyQT, формулу с numpy, а график через какой модуль задавать, тоже numpy? Нихуя не понятно, даже не понимаю, где это спрашивать.
Ну и вдогонку вопрос, какие еще вменяемые генераторы кода на питоне есть? Бесплатные
118 2593304
>>593063

>Аноны, что для глаз лучше, темная тема (темный фон, светлые символы) или светлая тема (светлый фон, темные символы)?


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

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

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

Ну и да, тот анон прав, нужен приличный монитор, тут лучше переплатить. >>593071
Screenshot from 2023-01-30 13-13-28.png34 Кб, 544x255
119 2593308
>>590944
Чёт мне подсказывает что надо отдельно хранить направление. Ну и реальный лифт наверное по массиву этажей линейно проходит по мере движения, храня только min max.
120 2593320
>>593285
Какая дичь. Во-первых, зачем тебе аж целый qt, почему не текстом в консольке? Делаешь тупо input/print, а формулы уж как-нибудь сам напишешь.
121 2593326
>>593285
Какой только хуйней нынче люди не страдают вместо того чтобы просто запрограммировать то что нужно...
122 2593330
>>593326
Я думаю это уже очень скоро станет мэйнстримом. Сотни приложух и профессиональных программистов которые в душе не ебут что им нейросеть насрала.
123 2593334
>>591417
Это на каком сайте такая задача
124 2593336
>>593099
понял принял, спасибо!
>>593096
ахах че угараешь
125 2593343
>>593320
Мне гуи нужен чтобы потом эту прогу показать студент я, консолькой не подходит
>>593330
++
126 2593350
>>593343
Никогда не слышал чтобы студентов заставляли UI делать. Чаще всего у студентоты погромирование это проходной предмет для общего развития, на таком уровне UI не проходят и он и в принципе там никому на хуй не нужон.
127 2593352
>>593350
разные по разному, у старшего брата еще в 2011м было задание на гуи калькулятор (на плюсах если я не ошибаюсь, ну офк там тупо списать с тетрадки и нажать пкм)
128 2593400
>>593350

>Никогда не слышал чтобы студентов заставляли UI делать


Лол. Только это и заставляют делать на непрофильных направлениях. Сам вспомни, ты в школе на информатеше алгоритмы сортировки тестировал? Нет, рисовал кружечек в делфи и по формочке его двигал.
image.png2 Кб, 302x150
129 2593572
Подскажите, как компактнее записать такое условие?
130 2593579
>>593572
any(n % x == 0 for x in (3,5))
131 2593590
>>593572
Так нормально и читабельно.
Так >>593579 - хуйня.
image59 Кб, 570x736
132 2593596
>>593579
Лол. По длине так же вышло, только ещё кортеж надо спавнить, функцию any вызывать. Пик стронгли рилейтед.
133 2593600
>>593579
капец. пишу как этот темнокожий мексиканотаджикский кодер внизу картинки.

мимо вкатун ньюфажик
134 2593602
>>593596
>>593600
капец даже тут промахнулся
135 2593607
Завтра собес, пожелайте удачи.
136 2593608
>>593607
Удачи
137 2593628
анончес, помоги написать программу, условие:
заполнять строку случайными буквами из английского алфавита, пока в этой строке не найдется определенное слово
139 2593660
>>593649
Можно ебово оптимизировать и искать через find с оффсетом в конец-длина слова. Это тебе домашнее задание
140 2593730
>>593660
Зачем тебе find, если можно просто сравнить конец генерируемой строки с искомой?
image36 Кб, 652x327
141 2593738
>>593660
Если ебово оптимизировать, то строка вообще не нужна и тем более делать в ней слайсы, ебануться оптимизация лол. Строки это самое тормознуте место питона. Вообще проблема в самой постановке задачи, её явно довольно тупенький человек формулировал.
142 2593748
вам делать нехуй?
143 2593760
>>593738
У тебя ищет все символы, а не подстроку.
144 2593764
>>593760
Если даже такой простейший код прочитать не можешь - не лезь.
145 2593796
Аноны, как считаете, способность к математике - врожденное? Насколько можно её прокачать, если я даже двузначные цифры в голове складываю с трудом?
146 2593801
>>593796
Хз, я вот вышмат в идеале знаю, а ебучий питон даётся с трудом, и хз как это побороть. Прошёл курс для начинающих на степике, вроде изи, две задачи хардовые, сейчас начал слушать курс для продвинутых от какого-то жиробаса (этот курс советуют сразу после вышеупомянутого проходить) и теперь плывут мозги, даже первую задачу не смог осилить и забил хуй уже на недели две, такой тильт бля.
147 2593806
>>>pairs = [(1, 'one'), (2, 'two'), (3, 'three'), (4, 'four')]

>>>pairs.sort(key=lambda pair: pair[1])


>>>pairs


[(4, 'four'), (1, 'one'), (3, 'three'), (2, 'two')]

Помогите понять пожалуйтса, почему там как аргумент передаётся какой-то pair, а не pairs? По моему, обязательно должно быть так:

>>>pairs.sort(key=lambda pairs: pairs[1])


Эта штука тоже работает и выводит то же. Я догадываюсь что питон как-то сам собой обозначил элементы pairs как pair, но какое-то упоминание о таких штуках как pair я в документации не нашёл
148 2593807
>>593806
потому элемент списка можно как хош именовать, хоть hui
149 2593810
>>593796
A зачем складывать числа в уме? Способность к математике - это умение вбить числа в калькулятор и не обосраться при этом.
150 2593813
>>593801
Действительно загадка. Казалось бы погромирование и матан из одного теста. И то и другое - максимально абстрактная логика. А вот как мы видим быть погромистом можно и без матана.
151 2593817
>>593807
бля, это многое объясняет, спасибо
152 2593831
>>593796
Способности к математике не определяются каким-то кокретным умением или заучиванием неких таблиц. У нас в школе многие троечники по математике прекрасно решали олимпиады по ней же и всякие конкурсы вроде "кенгуру" (хз, есть ли он ещё). Лично я таблицу умножения 2 месяца учил в своё время и всё равно периодически путался. Однако, закончил физмат на отлично.
Вывод: в математике, как и везде, важно понимание, а не заучивание алгоритмов.
153 2593835
>>593831
Двачую. Когда изучал матан, вникал в доказательства теорем, а не тупо зубрил, плюс старался это связывать с каким-то объектом (конкретная функция или последовательность), чтобы наглядно понимать суть происходящего. Так и с другими разделами математики, главное понимать, что ты делаешь, а не зубрить (возможно зубрёжка помогает, когда ты набиваешь руку на интегралах каких-нибудь или диффурах).
154 2593837
>>593801

>курс для продвинутых от какого-то жиробаса


Глянул первые видосики из этого курса, кайфанул от того, как этот жиробас четко и без воды рассказывает теорию, такой курс можно и посмотреть до конца.
155 2593838
>>593831

>учить таблицу умножения


лол блядь всегда в голове считал
алсо по матеше все контрольные, самостоятельные на 5 писал, но средний балл был 3-4 т.к. хуй клал на домашнее задание всегда, меня дома вовис ждал
на егэ сдал с6 попустив училку, она аж меня дернула в атестате оценки на 5 исправлять
156 2593845
>>593796
Ну вот я раньше знал алгебру вот эту всю, особенно когда к выпускным экзаменам готовился надрочился на высший балл. А сейчас смотрю на "у-рав-не-ни-я" как на японские иероглифы. Всё забыл напрочь.
Вывод: матан как набор логических схем и алгоритмов можно надрочить (запомнить).

Науке известны люди которые огромные числа в уме калькулируют
Вывод: калькулирующие свойства мозга могут быть врожденным.

И я даже рад что мой "чердак" освободился от знаний которые мне не нужны. В современном мире всё это говно в уме держать не нужно.
157 2593850
>>593837
Что за жиробас дайте ссылочку.
158 2593852
>>593801
А нахуй вы лезете в погромисты со своими ебаными курсами если это вам СЛОЖНО? Пиздец охуеваю в тематических чатах с вкатунов у которых ООП и декораторы это чото пиздец сложна
Если вам это не дается это не значит что вы безнадежны, просто попробуйте приложить себя в другом направлении, туда где вам будет интересно
159 2593854
>>593852
...например кладменство или веб-кам, еще на СВО вроде неплохо платят даже джунам
160 2593855
>>593852

>А нахуй вы лезете в погромисты


Как нахуя? Чтобы триста миллиардов в наносекунду зарабатывать и ничего не делать для этого.
161 2593857
>>593852
Так мне для DS нахуй не уперлось ООП, можно тупо зазубрить Numpy с Pandas, и все. Я чисто для себя хотел, но походу не судьба.
162 2593859
>>593857

>DS


DickSucking ?
164 2593948
>>593813

> А вот как мы видим быть мартыханом можно и без матана.

165 2593949
>>593854
Все это и совместить можно
166 2594028
>>590923 (OP)

>пособие для начинающих: https://docs.python.org/3/tutorial/introduction.html


Есть какой-нибудь список тренировочных заданий от анона? Вроде бы там всё и так известное и понятное, но хочется чтобы основательно в голове отложилось
167 2594038
>>593852

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

168 2594040
>>594038
Обычно такое начинается, когда пытаются слишком много за раз сожрать. Думают "ну я умный, сейчас курсики врублю по 8 часов в день и быстро освою". По итогу передоз информации, идут вперёд не усвоив нормально прошлый материал, что более менее усвоили уже из головы начали вылетать и в итоге пройдя весь курс по фасту в голове ничего не отложилось
169 2594050
>>594040
Ну значит практики надо больше, только где идеи для неё брать...
170 2594052
>>594050
как минимум задания решать
171 2594057
>>594052
Все это очень много времени забирает.
Я на днях чтобы решить 3 задачки 7 кю на кодворс. Потратил аж несколько часов. Аж настроение поднялось но потом поняв сколько впереди и сколько времени надо настроение упало
мимо вкатун заводчанин
172 2594063
>>594057
И абсолютно зря. Аж несколько часов это немного. А чем дальше, тем меньше стоит стремится решить задачу как можно быстрее и больше подумать об оптимизацию и недопускать костылей.

На 3кю я сидел по 3 дня над одной задачей. И это отлично потраченное время.
По началу понять алгоритм необходимый после прописать, а после искать баги, попутно занимаясь оптимизацией. А то по началу при каждом новом ходе в алгоритме он добавлял значение в массив и после проходил по нему целиком, проверяя его каждый раз с нуля в поисках нужной комбинации. Но стало быстро понятно, что это тупо и надо бы проверять только тот участок, куда добавилось значение.
И я не только сидел над задачкой, но и попутно просматривал и разный материал, который, конечно, ни к какого отношения к решению не имел, а по работе с массивами, например. И что самое главное этот опыт по итогу в голове очень хорошо отложился.

Поэтому аж несколько часов это просто ни о чём. Хотя при этом прям в задачи уходить полностью тоже не стоит. Ибо пытаться решать сразу же всё, сидя месяцами только над решениями задач тоже крайне плохой вариант. Типа 1 час теории - 2-4 часа практики. Это условно, конечно, и сильно разнится от тяжести теории. Ибо под некоторую и 20-40 часов может потребуется, но как-то так, хотя бы в голове стоит держать то, что на практику должно уходить куда больше времени, чем на теорию.
173 2594064
>>594063
Это да. Материал на понятой осмысленной задаче реально закрепляется лучше
Screenshot105.jpg164 Кб, 1853x876
174 2594089
ну это оказалось намного проще, чем я думал будет.

Пришлось только с костылить и возвращать puzzle а не arr, потому что с массивом задание не принималось.
175 2594272
Так бляд.

Меня прямо в этом ИТТ зис треде сиьоры тимлиды учили, что область видимости функции это инстанс, который пропадает после выполнения блока кода этой функции. Но если дефольтная арг функции будет изменяемым типом, то эту функцию вообще можно юзать как обьект, перекидывая с данными туда сюда, а данные в нутри её дефольтного аргумента будут сохраняться.

Никакой веры анону нет, пиздец.
176 2594317
>>593258

>Переходя на следующий этаж ты проверяешь, есть ли этаж в списке на остановку


Точно нет. Лифт должен заранее знать, на каком этаже останавливаться, чтоб снизить скорость и сделать плавную остановку.
177 2594368
>>594317
Тут мамкины проггеры просто соревнуются как весь код в одну строку уместить. Создании алгоритма с лифтом так-то нулевая сложность, даже кот сделает если по клаве пройдет.
178 2594378
>>594317
На это не надо много времени. Даже находясь на уровне 6 этажа, лифт может обработать прерывание и остановиться на 4м.
image.png162 Кб, 2063x945
179 2594506
>>594368
>>594368

>Создании алгоритма с лифтом так-то нулевая сложность


Вот ты и спалился, джунище...

Elevator challenge - это целый мем в кодерских кругах, как одна из задач, которая на первый взгляд кажется легкой, а на деле нет.
https://github.com/mshang/python-elevator-challenge/blob/master/README.md
180 2594519
>>594506
Ебля в жопу тоже кажется легкой, если не пытаться засунуть туда велосипед. Сложность реальной задачи <> сложности манязадачи с маняусловиями.
181 2594572
>>594506
И что? То что это какой-то мем, не делает эту задачу сложной.
182 2594589
Друзья, я трахнул собес почти без огрехов. Надеемся на лучшее.
183 2594595
>>594589
А сейчас сабесы все онлайн проходят?
Если да, то ты по видеосвязи собесился?
Белую простыню на фон повесил?
184 2594597
>>594595
Собесился на фоне холодильника в съёмной квартире.
image.png1,3 Мб, 1500x842
185 2594617
>>594572
ну так сделай
186 2594650
>>594617
Может ещё уроки за тебя сделать на слабо?
187 2594652
>>594272
ну и в чем они не правы?
yPGdxV9.png170 Кб, 488x380
188 2594708
>>590923 (OP)
Сап анончики.
Есть один класс, у которого куча атрибутов, я не хочу писать всю эту кучу в __init__ руками, как-нибудь можно просунуть ему всю пачку словарём например?

Сейчас вот так:

Class Govno(Mocha):

one = Property()
two = Property()
.....
billion = Property()

g=Govno()
g.one('hui')
g.two('pizda')

Можно же это всё не init сделать, передав словарь?
189 2594713
>>594708
Гугли args kwargs.
190 2594714
>>594713
да, но чот я не вкурил как их внутри __init__ расставить
191 2594715
>>594714
__init__(*kwargs)
self.__dict__.update(kwargs)
image.png301 Кб, 721x692
192 2594719
Он маг?
193 2594721
Аноны поясните за "утечку" памяти.

foo = 'bar'
foo = 'bar1'

Переменная foo = 'bar1' это совершенно новый объект с новым id и областью в памяти. Т.е. если я рекурсивно или в цикле буду миллиарды раз её вот так переназначать, то в итоге память закончится. Я слышал,но особо не вникал, что есть некий механизм, который сам убирает весь такой мусор, но меня интересует как мне это делать самому в программе, как удалить старую переменную из памяти, а лучше чтобы она сама сразу удалялась если ей переопределяем значение, например.
hui.PNG45 Кб, 1565x342
194 2594723
Стикер255 Кб, 436x435
195 2594725
>>594721
del foo
196 2594726
>>594715
ага, вроде получилось, вот так

def __init__(self, kwargs):
for k, v in kwargs.items():
setattr(self, k, v)

уъу сука чо так сложно
197 2594728
>>594723
а вот так не получилось, ест словарь без ошибок, но на выходе все атрибуты пустые
198 2594733
>>594725
Я не это спрашивал. Дел просто открепляет имя от области памяти, очищать же память будет сборщик мусора. Т.е. это то же самое что просто назначить для foo другое значение.
Стикер255 Кб, 436x435
199 2594734
>>594733
gc.collect(
200 2594735
class Govno:

def __init__(self, kwargs):
self.__dict__.update(kwargs)

def __repr__(self,):
return f'{type(self).__name__}(' + ', '.join([f'{i}={v!r}' for i,v in self.__dict__.items()]) + ')'

a = Govno(hui='12sm',pisda=10, zalupa=set())
a.hui
201 2594742
А self это параметр только для классов? Для функций такого нет?
202 2594745
>>594742
ну вставь в функцию, будет и там
203 2594780
Что значит "генератор забывает"?

Вот есть у меня строка весом 8 гб, например. Если я сделаю маленький генератор, внутри него сделаю цикл, который будет прочитывать по 100 символов, что-то в них искать и выплевывать результат yield-ом. Чем это будет отличаться от того же самого алгоритма сделанного в обычной функции с помощью того же цикла?
204 2594864
>>594780
Кажется понял. Имеется в виду противопоставление итерации "обычному" способу хранения данных. Ни в одном уроке и статье это не объясняется. Пишут типа "вот генераторы хороши если у вас дохуя данных, а саму суть, что они под этим миеют в виду просто итерацию - не объясняют. Хорошо что у меня IQ 271 и до всего сам дохожу.
image.PNG18 Кб, 731x310
205 2594952
Как ускорить код для решения этой задачи?
https://www.codewars.com/kata/54521e9ec8e60bc4de000d6c/train/python
Конкретно мой код https://pastebin.com/F20mYYXS суммирует куски листа по 2, 3, 4...n элементов, заносит их в отдельный лист, а потом возвращает наибольший элемент листа. Код работает для листов короче ста элементов, а длиннее ста выдаёт таймаут еррор.
206 2594956
>>594952
открой солюшены да посмотри
207 2594998
>>593258

> Переходя на следующий этаж ты проверяешь


А если я отжал кнопку на пол пути и выбрал другой этаж? Ирл он остановится и поедет на новый.
208 2595011
>>594952
Классическая задача на динамическое программирование, а твоё решение - говно.
209 2595036
>>594721
Утечка это когда ты в очень сложном объекте, где-то глубоко, копишь данные, которые уже не нужны. Или забыл использовать weakref вместо обычного ref.

Сборщик мусора с таким примитивным случаем хорошо справляется, там переполняется активная арена, она подчищается и наполняется заново, в итоге процесс всегда ест фиксированное количество памяти.

По-настоящему переполнить память можно вот так:
i = 0
lst = []
while True:
..lst.append(i)
..i += 1
Screenshot from 2023-02-01 00-23-41.png20 Кб, 458x230
210 2595038
>>594742
Это так принято. Можешь называть его хоть Сьюзан. Функция, определённая внутри класса — это абсолютно такая же функция, как и все остальные, но ООП-механизмы делают ей частичное применение на первый аргумент, причём не обязательно он должен называться self.
Screenshot from 2023-02-01 00-27-18.png10 Кб, 340x178
211 2595042
>>594780
Генератор чисел Фибоначчи. Ему не нужно помнить 8Гб прошлого, нужно только два последних числа хранить.
212 2595051
>>594952
Я бы схлопнул все соседние позитивные/негативные, отцепил негативные с краёв, получится что-то вроде [+a, -b, +c, -d, +e], тут уже можно подумать над эффективной стратегией, например пытаться наращивать от каждого позитивного числа.
image52 Кб, 698x319
213 2595066
>>594952
>>595051
Там надо просто идти по списку, начиная с первого положительного числа и всё складывать не позволяя опускаться результату ниже нуля. Всё.
Я по началу так и хотел сделать, но почему-то моча в голову ударила и решил что так не сработает и надо обязательно брать срезы. Это ошибка. Вернее код-то этот работает как надо и всё выполняет, но на больших массивах не укладывается по времени.
214 2595075
>>595066
Хм. Ну да. Координаты слайса помнить не нужно, можно тупо max посчитать.
215 2595083
>>595075
У тебя ещё логические ошибки. Например ты берешь срезы любой длинны одинаковое количество раз. Сам подумай, разве нужно срез длиной 9 элементов в массиве размером 10 элементов брать 10 раз. Нет, его надо 2 раза взять чтобы всё покрыть. ну и синтаксис у тебя полностью проебан, без негатива.
216 2595087
>>595066
arr[e:e+n]
так делать нельзя, если пытаешься хоть в маленькие намёки на оптимизацию.
просто добавляй значения в отдельный список и потом уже если сумма нового списка будет выше, то заменяй его новым, если нет, то всё дальше.
про срезы забудь навсегда при выполнение заданий. Максимум первым или последний элемент можно брать.
217 2595088
>>595087
таблетки
218 2595089
>>595087
По-моему срезы списков довольно шустрые, это строки пиздецово тормозят. Но я согласен что для задачек скорее всего так делать нельзя.
219 2595090
>>594589
рассказывай какие вопросы задавали
220 2595091
>>594719
Вряд ли
Но с головой явно проблемы. Просто посмотри на эти безумные глаза на эту самодовольную ухмылочку. Загляни в застывшее в одной эмоции лицо и поймёшь что он сумасшедший
221 2595092
>>595089
Сумму ещё можно считать отдельно, а не брать сумму списка, я думаю. А то если там список на 1000 элементов и у тебя образовался список на 100 элементов, то считать его сумму каждый раз тоже слишком затратно. Но тут уже не так критично, но из-за срезов точно по времени не уложишься.
222 2595110
>>594052
Бля ты буквально ответил на вопрос о том, где эти задания брать
223 2595112
>>595110
сайтов много. codewars для примера
224 2595114
>>590923 (OP)

Призывается анон с навыками python, чтобы запилить важный пулл реквест: highres fix в запросах на генерацию. Это поможет развитию как Horde-комьюнити, так и технологий синтеза изображений в целом.
https://github.com/db0/AI-Horde-Worker

Stable Horde - децентрализованная, добровольческая на принципах краудсорсинга peer-to-peer сеть, призванная предоставлять облачные мощности для создания ИИ-искусства, заменяя собой менее гибкие аналоги типа колаба. Она позволяет множеству пользователей со всего мира творить годноту и порождать идеи, даже имея лишь телефон или дешевый нетбук. Она поддерживает уйму разных моделей (список постоянно обновляется) и позволяет генерировать NSFW, с гибкой настройкой во фронтэнде и в различных сторонних клиентах.

Так в чем же проблема? Нет поддержки "highres fix".

Это опенсорсный проект, и ведущие разработчики уже заняты другими вопросами. По словам участников в дискорде, "воркер"-скрипт не рассчитан на увеличение пикчи перед ее отправкой в img2img, и к ней просто добавляются белые поля. Поэтому для полноценного апскейла потребуются пулл реквесты. Для изменения принципа обработки пикч в worker, и собственно для отправки двойных запросов через API (ну то есть опция во фронтенде artbot, такая же как в automatic1111 webui). Первое это необходимый минимум, второе прикрутят разработчики клиентов. Код лежит в репозитории horde-worker.

Полагаю, все знают, что для получения годной пикчи нужно прогонять ее через модель дважды, чтобы она была 1024x1024, чтобы на ней хотя бы было на что смотреть. Это называется highres fix, что-то похожее внезапно есть в Dall-e 2 и Imagen.
image.png53 Кб, 603x392
225 2595119
Решил написать мелкого бота в тг, который по команде принимает варианты от разных людей и создает опрос. Сделал механизм, который принимает строку и счетчик принятого варианта. Но почему он, бля, говорит, что переменная счетчика не присвоена, когда вон она, очень даже присвоена в самом начале, чзх?
Не понимаю, поясните.
Дока фреймворка:
https://pytba.readthedocs.io/en/latest/sync_version/index.html
226 2595121
>>595119
Ну всё рабоатет?
Значит проблема в твоём ide. Наверное он думает, что функции должны быть в начале, что правильно и назад не смотрит.
227 2595123
>>595119
Ну ещё надо посмотреть, что находится в декораторе. Может какие-нибудь конфликты появляются
image.png60 Кб, 700x713
228 2595124
>>595121

>Ну всё рабоатет?


Нет, не работает.
Idle тоже ошибку выдает.
>>595123

> в декораторе


А что это и как посмотреть...
229 2595128
>>595124
В пейчарме можно просто кликнуть с зажатым контролом на функцию и откроется место где она находиться, а там и код можно глянуть её.

Ну и не стоит делать так
import telebot
При таком импортировании всегда появляются ошибки.
Надо импортировать from telebot import "нужная функция-класс", ну или * если всё нужно, такой вариант всё равно куда лучше.
А просто с импортом без from часто ошибки возникают странные, не скажу из-за чего даже точно.

Скорее всего optCount улетала в декоратор и он эту переменную не видит. Поменять способ импортирования в теории может тут помочь, если нет, то надо смотреть код в модуле
230 2595133
>>595128

>Ну и не стоит делать так


>import telebot


>При таком импортировании всегда появляются ошибки.


>Надо импортировать from telebot import "нужная функция-класс", ну или * если всё нужно, такой вариант всё равно куда лучше.


>А просто с импортом без from часто ошибки возникают странные, не скажу из-за чего даже точно.



рубрика вредные советы
image.png123 Кб, 1043x1037
231 2595135
>>595128
Кое-что нарыл.
Опткаунт в отладке показывает 0, как и должно.
А с импортом ниче не понял, это как это, через звезду? Зачем? Там всего одна библиотека, никаких коллизий быть не должно же
232 2595139
>>595135
А ты уверен, что там вообще есть такой декоратор
233 2595141
>>595139
А еще ГЛОБАЛЬНЫЕ переменные не создаются, пока не выполню условия декоратора и не выведу #предложение в чат.
чзх
234 2595144
>>595141
В теории могла просто кириллица затесаться ещё.
235 2595149
>>595112
Зашёл впервые на ваш гейворс и получил экстаз от изящности решений других участников
236 2595150
>>595149
Но там всегда есть мемные решения, которые тоже крайне прикольные.
Суть их в том, что бы вместо 20 строк написать 200 и больше, а это надо уметь тоже, особенно что бы это выглядело действительно впечатляюще, а не как говнокод.
237 2595166
>>595119
В начале функции напиши global optCount
238 2595178
Аноны, пошлете если попрошу помочь что у меня не так в решении?
Задача на пик 1, а вот мое решение:
import numpy as np

lst = []
n = int(input())
t = int(input())
for i in range(1, n+1):
ele = int(input())
lst.append(ele)
elemax = np.max(lst)
elemin = np.amin(lst)
a = int(input())
print(elemax, elemin, lst)
if (elemax - a) < t or (a - elemin) < t:
print(elemax - elemin)
elif elemax - a < a - elemin:
print(elemax - a + elemax - elemin)
else:
print(a - elemin + elemax)

Пик 2 пример данных.
У меня во втором тесте выводит 29 и я не пойму почему там 31.
То есть она поднимается на 5-ый на лфите, потом спускается на 1-ый и далее на 25-ый.
Не пойму где пробел в логике, я совсем пень похоже.
239 2595180
>>595178
Сама задача одна из прошлых, которые давали на курсах тинькоффа1
240 2595182
>>595178
Хотя даже так, по моей логике должно быть 28.
Все еще тупо
image.png554 Кб, 720x1280
241 2595228
242 2595250
>>595114
Говно без задач.
Зачем людям с видеокартами раздавать свои мощности кому-то, если они могут генерить через удаленного админа с телефона, например. Что они в замен-то получают? Нихуя?
Такая инициатива возможна, если сам AUTOMATIC11111 эту фишку всё вебуи сам добавит, а такие вот нонейм инициативы обречены на провал. Кстати не первый раз такое вижу. Чем больше таких инициатив тем меньше людей в каждой из них.
243 2595270
Аноны такой вопрос.

Есть набор таблиц, с привязочной сущностью по середине

[A]--[C]

Мне нужна прямая связь [A]-. Как я это вижу - я создаю три объекта, указывая связи для них, и потом по желанию могу получить прямую связь из А в Б и наоборот. Какими инструментами это можно реализовать?

В примере 2 обьекта, но на практике офк больше. Задача соединить их на прямую, миную промежуточные шаги.
244 2595272
Не слушайте этого >>595128 долбоёба, такое импортирование засрёт ваш global scope к хуям, зашел разок за два года на сосач почитать умных штук а тут такое говно пиздец. https://stackoverflow.com/questions/2360724/what-exactly-does-import-import
245 2595274
>>595270
сори проебался с разметкой

[A]--[В]---[C] офк, попасть напрямую в С миную В
246 2595275
>>595272
да, я тут обосрался, признаю.
247 2595276
>>595275
но некоторые модули всё же нужно импортировать через *, а иначе не будут нормально работать, но в большинстве случаев так делать не стоит, да
248 2595278
>>595276
а почему советовал тогда?
249 2595279
>>595270

>привязочной сущностью


Это ты сам придумал?
250 2595284
>>595279
Нет, так было.

Условно есть Товар-Поставщик-Бренд

Мне нужна прямая связь из товара в бренд
251 2595286
>>595278
Вспомнил, что в одном из модулей у меня импорт нормально не работал, погуглил и решение было импортировать через * и почему-то в голове после этого мысль эта засела.
Хотя чисто логически это очевидно не очень решение, особенно, если несколько импортов.
252 2595287
>>595284
Никак.
Это вообще про скл.
253 2595290
>>595284
Что такое ПРИВЯЗОЧНАЯ СУЩНОСТЬ блядь. Это термин что значить должен нахуй.
254 2595292
>>595290
Я так понимаю он имел ввиду внешний и внутренний ключ.
255 2595298
>>595292
А может быть корова, а может быть собака
256 2595300
>>595290
Когда у тебя свзяь многие ко многим, можно бахнуть провязочную таблицу вида id_from_tble1|id_from_table2

>>595287
Спринг такое умеет
257 2595313
>>595300

>провязочную таблицу


К питону это отношение не имеет, скорее к бухучету какому-нибудь или вообще с потолка.

Какая-то "привязочная таблица", какая-то "прямая связь". А что такое "НЕ прямая связь", а чем привязочная таблица отличается от обычной таблицы. Зачем ты какие-то рандомные термины используешь, тебе же надо чтобы тебя поняли или что?

Пройдись по каждому объекту и создай словарь. Всё.
258 2595330
>>595313
Хз, стандартные термины реляционных БД.

Ну это будет хардкод, тот же спринг умеет строить связи между 2 обьектами минуя третий.

Может сделать из A-B-C
A-C.
image.png11 Кб, 1004x549
259 2595333
>>595313
>>595330
Перефразирую, мне надо создать новую модель данных поверх существующей.
Связи между объектами есть, но меня они не устраивают.
260 2595408
>>595144
Я хз
261 2595595
>>590923 (OP)
Всем привет!

Не могу понять что делаю не так. Я, короче, написал кое-какое говно, чтобы оно мне бекапило всю хуйню и кидала зашифрованной в s3. Для этого я взял pgzip, gnupg, boto3. Чтобы каждый раз не устанавливать всю эту хуйню на каждом хосте через pip, я закачал всё через pip3 install --target ./deps/ -r requirements.txt --upgrade. Соответственно, я поменял импорты, чтобы они были как надо, а именно import deps.boto3 as boto3. Но при попытке запустить говно я получаю ошибку с пикрила. Если посмотреть в директорию, то модуль на месте. Почему эта хуета не может его найти?
262 2595606
>>595595
Слепой штоле?
В самом пакете инит импортирует свои же модули без твоего костыля, а там уже не находит их в site-packages.
263 2595608
>>595606
Там есть какой-то path для поиска модулей, вот туда надо добавить твой deps и импортировать нормально. Гугли кароч.
264 2595616
>>594998

>если я отжал кнопку на пол пути


В реальных лифтах я видел такое только по вызову метода STOP(). Но этот метод сбрасывает всю очередь вообще.
Кстати, как раз отжатие кнопки интересно, если вспомнить лифты, в которых кнопка остаётся нажатой и работает как реле для инициации остановки.
>>594317

>Лифт должен заранее знать


Насколько заранее? Он может остановиться за пол-этажа примерно, значит если он, проезжая механическую/электрическую/фото метку этажа, нанесённую на стену считывает её и принимает решение об остановке, если в этот момент есть условия, необходимые для этого.
265 2595622
>>595616
У лифта должен быть пульт который только принимает команды человека и рассматривает их исключительно в качеств добрых рекомендаций. Мешкам с костями нельзя ничего доверять. а то они начнут прыгать на пульте визжать закатив глаза и самоубиваться об арматуру.
Вот нажали кнопку движения. -> Всё, до свиданья мартыхан. Сиди ровно в кабине, жуй бананы и не рыпайся.
Лифт смотрит следующий этаж выше или ниже - если выше получаем первую переменную - движение вверх. Далее получаем статус от датчиков на каком этаже находимся. И т.д и т.п. и тд и тп.

Так же и во время движения - вонючая макака нажала стоп во время движения - приняли команду и смотрим что мы с этим суетливым визгом можем сделать, все решения только на основе наших собственных, блестящих великолепных датчиков.
Логика лифта она проста и прекрасна. не надо её возводить в какую-то странную запутанную хуйню. Это не так.
266 2595847
>>595166
Не помогло.
Все та же ошибка
267 2596003
>>593948
98% того, с чем ты более-менее сталкиваешься за компом делается вообще без матана. На оставшиеся 2% приходятся в основном нейросети в телефончиках, сортирующие фоточки, при чём те, кто писал матан и те, кто писал нейросети это совершенно разные люди.

Я видел разработку только одного продукта, где был какой-то прям матан и это была ГИС-система, в которой надо иметь в виду, то на плоский экран выводятся плоские квадратики вообще-то кропнутые шаровые сегменты со всеми их особенностями (типа прямая на карте это совершенно не то же самое, что прямая на глобусе и вот это вот всё). При чём и там не было чего-то сильно большего, чем школьный курс стереометрии и тригонометрии.

Сайтики, формочки, базы и прочее это почти весь софт в 2023. Не это нужно, чтобы считаться сеньором и иметь 300кк.
image.png37 Кб, 564x412
268 2596041
Я правильно понимаю, чтобы выполнить другое действие с другой кнопкой нужно создавать другой класс? И почему emit желтым подсвечивается, если он работает нормально
269 2596064
>>596041
Да, правильно. Слава ChatGPT
image.png39 Кб, 429x501
270 2596066
Самый кошерный и самый всратый способ проверить, что строка начинается с подстроки.
Интуитивно кажется, что check3 это просто развёрнутая запись check2 и они равнозначны.

А check1 это так, для разминки.
271 2596083
>>596066
Давай теперь самый простой и самый сложный способ покакоть.
272 2596102
Пс, кто-нибудь реально ебёт как работает асихронность в питоне?

Все эти event-хуюпы, хуехронные контекстные менеджеры и прочее.

Как, а главное нахуя это всё вообще нужно? У кого-нибудь был проект где нужно было что-то большее чем функцию в async await с двух сторон обкладывать чтоб заработало?
273 2596120
Аноны, а писать вот так
if foo: bar = baz

Это норма вообще или лучше не надо?
274 2596131
>>596102
А что для тебя неочевидно? Любые запросы блокирующие io ждут без какого либо полезного действия. Асинхронные вызовы призваны оптимизировать утилизацию ресурсов, что бы избежать простоя процессора.
275 2596132
>>596120
Можно даже написать
if foo: bar = baz; hui = 'pidoras'
Но это НЕ ПИТОНИК, ебать тебя в сраку.
276 2596138
>>596132
Бля жаль, а то так аккуратно получалось условие в одну строку, ладно пойду на лесенки исправлять.
277 2596143
>>596138

>одну строку


Мы тут три файла на одном мониторе 3:4 открываем, нам такое не нужно
278 2596146
>>596138
Ну я тоже скучаю за теми же перловыми фичами вроде
$hui = 1 if $pizda; и с сотней других четких хуиток и шорткатов.
Но в бидоне надо мириться с некоторой тяжеловесностью в этом плане.
279 2596185
>>596102
Чтобы в одном треде обслуживать много (особенно долгоживущих) сокетов или рулить множеством субпроцессов. Можно конечно это делать без async await, вызывать вручную epoll и дёргать херову гору колбэков на все случаи жизни, а можно писать как обычный код и добавлять async await. Самый простой пример — сделать чатик на (веб-)сокетах.
k0p0b3gj.png320 Кб, 735x643
280 2596372
Подскажите куда сюда добавить сообщение пользователю этого бота, что нейронка думает.
Например пишешь вопрос и пользователю не ясно обрабатывается он или нет, нужна какая-то строка типа "думаем", не понимаю куда её добавить.

import telebot
import openai
bot = telebot.TeleBot("")
openai.api_key = ""

@bot.message_handler(content_types=["text"])
def handle_text(message) :
response = openai.Completion.create(
engine="text-davinci-003",
prompt=f"{message.text}",
max_tokens=1024,
n=1,
stop=None,
temperature=0.5,
)
bot.send_message(message.chat.id, response.choices[0].text)
bot.polling()
281 2596378
>>596372
У нейронки и спрашивай, сюда зачем пришёл?
282 2596405
>>596378

>У нейронки и спрашивай, сюда зачем пришёл?


Первое что сделал, хуйню подсказала.
283 2596411
>>596405
Нейронка это просто кривое зеркало, думать она не умеет, просто генерирует фигню по паттёрнам на которых обучалась. Чем больше параметров и сложнее обучение, тем меньше искажений будет видно, но стоит увеличить область запроса, как искажения снова начнут лезть из всех щелей.

Её можно использовать как некоторую замену гуглу при некоторых вопросах, но код ей лучше даже не пихать. Она может на ванильный питон более менее нормально отвечать, но какие там могут быть проблемы с ванильным питоном.
284 2596428
>>596372
Перед запросом к нейронке отправляешь сообщение, что происходит думание
После получения респонза удаляешь сообщение о думании и шлёшь ответ
285 2596657
>>590923 (OP)
Сап питонач, есть такой вопрос. У меня есть 2 зависимости: X(t) и Y(X). Они представлены в виде 2 numpy массивов n на 2. Есть ли какая-то команда, которая позволит мне получить зависимость Y(t)? Я понимаю алгоритм как это можно сделат руками, но наверняка же есть какая-то команда в numpy или другой библиотеке специально для этого.
286 2596683
>>596657
они у тебя по регулярной сетке или просто точно совпадающий список t и X ?
287 2596686
>>596657
Я немного не понял тебя. Задача какая-то размытая, дохуя условий опущено. В чём проблема применить дважды линейную регрессию и МНК?
288 2596708
Помогите нюфагу
Можно ли сделать последовательное поочередное присваивание значений элементам списка?
Типа что-то у меня есть допустим какой-нибудь десятиугольник, и мне надо передать в функцию которая посчитает характеристики этого десятиугольника 10 значений: a, b, c, d.....
Можно ли создать список содержащий переменные [a, b, c, d...] и через цикл for вводить для них с клавиатуры значения?
Ну или что-то типа того, чтобы не писать каждый раз а = инт инпут, б = инт инпут и еще сто раз?
Как мне сделать все это кратко и понятно для глаза?
289 2596715
>>596708
a = [input() for _ in range(10)]
16751058442560.jpg27 Кб, 250x250
290 2596717
Решал 6kyu 4 часа, а оказалось всё можно было сделать за 5 минут
291 2596718
>>596715
а как ввести b потом c? Мне нужно сохранить все десять значений в 10 переменных
292 2596719
>>596372

>def handle_text(message) :


сразу после этого идёт реакция на отправленный текст пользователем. Можно сразу после неё написать что-то типа:
bot.send_message(message.chat.id, 'сча сгенерим тебе хуйню')
293 2596721
>>596717
Дай ссылку на задание плиз
294 2596723
>>596718
он за a обозначил весь список переменных
то есть a это a[0], b это a[1], c это a[2]
296 2596725
>>596718
a, b, c, d, e, f, g, h, i, j = [input() for _ in range(10)]
297 2596726
>>596725
>>596723
Спасибо большое
298 2596729
>>596725
чот не работает
Снимок.PNG11 Кб, 790x272
299 2596731
300 2596736
>>596731
А у меня пичарм просто показывает пустоту в окне ввода
301 2596737
>>596731
>>596736
И ничего нельзя вводить и нет курсора и всех этих сообщений о запуске программы
302 2596739
>>596737
В чем проблема запустить цикл, в котором ты будешь вводить нужные тебе величины и добавлять их в список, а затем обращаться к ним через индексы?
303 2596742
>>596686
Я слов-то таких не знаю, где про это почитать? Задача заключается в том, что есть 2 массива данных, один вроде эталонного, например, излучение от температуры. А второй экспериментальный - излучение от времени. Надо получить зависимость температуры от времени.

>>596683
Значения не факт что в точности совпадающие, этплонный, как мне известно, это вообще аппроксимированная кривая.
Снимок.PNG52 Кб, 1482x538
304 2596744
305 2596787
>>596742

>Значения не факт что в точности совпадающие, этплонный, как мне известно, это вообще аппроксимированная кривая.



тогда тебе нужна некая модель, а не сведение точек.

Напиши похожую функцию в общем виде и примени scipy.optimize.curve_fit.

Если вообще нет никаких идей на что похожа эта функция, придется натягивать модели типа GLM или GAM
306 2596796
>>596428
>>596719

>bot.send_message(message.chat.id, 'сча сгенерим тебе хуйню')


Спасибо всё работает. А как его удалить когда ответ нейронки будет готов?
307 2596819
>>596796
Что-то вроде
bot.delete_message(message.chat.id, sent_message.message_id)
Айди поста надо сохранять ещё при отправке:
sent_message = bot.send_message(message.chat.id, 'сча сгенерим тебе хуйню')
308 2596822
>>596819
если не будет работать то вот инструкция
https://core.telegram.org/bots/api#deletemessage
309 2596858
>>596819
>>596822
Спасибо.
Вот так вполне себе работает:

@bot.message_handler(content_types=["text"])
def handle_text(message) :
sent_message = bot.send_message(message.chat.id, 'сча сгенерим тебе хуйню')
response = openai.Completion.create(
engine="text-davinci-003",
prompt=f"{message.text}",
max_tokens=1024,
n=1,
stop=None,
temperature=0.5,
)
bot.delete_message(message.chat.id, sent_message.message_id)
bot.send_message(message.chat.id, response.choices[0].text)

bot.polling()
image26 Кб, 942x333
310 2597007
https://www.online-python.com/nzagbNFSek

Аноны как более правильно по PEP8 ? И если всё хуйня как надо?
image.png63 Кб, 238x212
311 2597046
>>596717
ага я еще когда посмотрю решения как умники делают в 1 строчку используя суперочевидные вещи либо какие-то тайные тибетские знания и тогда ты вообще себя тупым считаю, у тебя так же?
312 2597087
>>596717
Главное, что решил, ну и запомни решение, которое увидел в ответах, считай, что это твоя награда за труд
21.jpg15 Кб, 354x221
313 2597107
>>596724
ну я решил меньше чем за пять минут, уже не тупенький.
314 2597118
>>597046
На однострочность дрочить не нужно. Это уже лишние заморочки.
Запихнуть в генераторы в одну строку такое решение >>597107 не сложно, но всё равно ты это будешь делать после выполнения задачи уже, когда убедишься, что алгоритм точно работает, и вопрос, а надо ли оно тебе.
315 2597124
>>597118
Конечно надо. Иначе же окружающие не поймут что ты крутой синьор тимлид.
316 2597132
>>597124
Да, некоторые считают, что если ты не пихаешь везде генераторы, то ты не питонист, а лох. Хотя тебя всё равно за лоха будут держать, если ты питонист, так что какая разница
317 2597317
>>597107
>>596717
ппц я ее вообще решил за 2 дня. у меня привычка все сравнивать через индексы, не могу ничего поделать. всегда хочется сделать фор(ш = 0, ш = 8, ш++)
а жонглировать методами сортировок и сравнений как делают в комментариях все никак не привыкну.
318 2597344
>>597317
Я сейчас, наоборот, парюсь об лишней оптимизоне, поэтому сначала пытался через словари решать, но быстро понял, что у меня в словаре те же списки и это тупо значит.
Потому подумал, что можно через добавление и вычитание из списка делать, но в итоге стало быстро понятно, что проверки, если ли в списке нужное значение и его удаление займёт кучу лишних операций.
Поэтому пришлось решать так. Единственное, что bool в конце абсолютно лишний.
319 2597357
Подскажите как решать задачу эту? Не могу сообразить уже полдня с чего начать.

https://www.codewars.com/kata/5a3f61bab6cfd7acbc000001/train/python
Screenshot112.jpg115 Кб, 1853x694
320 2597411
>>597357
В общем, я накостылил кое-как, но спать уже хочу.
Считай не полностью за тебя решил
321 2597424
>>597411
ну тут ошибка из-за i как я понял, но исправлять уже не буду
322 2597429
>>597411
и думаю должны быть куда более простые способы
323 2597635
Питоныч, помоги.
Переделал программу под текстовый файл - теперь уже никаких переменных, а значит, и никакого говна по типу вы не присваивали значения перед использованием.
Но столкнулся с другой проблемой - теперь выход воспринимается как одна строка. Я посылаю список на выход, а он, сука, не посылается.
Все через жопу, в лучших традициях.


optCount = open("optCount.txt", "w+")
optCount.write("Привет, файл!")
optCount.close()

@bot.message_handler(regexp='#предложение')
def start(message):

optCount = open("optCount.txt", "a+")
optCount.write(message.text.replace('#предложение', '') + '\n')
bot.send_message(message.chat.id, 'предложение принято')
optCount.close()

@bot.message_handler(regexp='#старт')
def start(message):

optCount = open("optCount.txt", "w+")
s = []
for line in optCount:
s.append(line)
bot.send_poll(message.chat.id, "Что читаем?", s)
s.clear
optCount.close()
f = open('optCount.txt', 'w')
f.close()
bot.send_message(message.chat.id, 'Голосование!')

bot.polling(none_stop=True)
323 2597635
Питоныч, помоги.
Переделал программу под текстовый файл - теперь уже никаких переменных, а значит, и никакого говна по типу вы не присваивали значения перед использованием.
Но столкнулся с другой проблемой - теперь выход воспринимается как одна строка. Я посылаю список на выход, а он, сука, не посылается.
Все через жопу, в лучших традициях.


optCount = open("optCount.txt", "w+")
optCount.write("Привет, файл!")
optCount.close()

@bot.message_handler(regexp='#предложение')
def start(message):

optCount = open("optCount.txt", "a+")
optCount.write(message.text.replace('#предложение', '') + '\n')
bot.send_message(message.chat.id, 'предложение принято')
optCount.close()

@bot.message_handler(regexp='#старт')
def start(message):

optCount = open("optCount.txt", "w+")
s = []
for line in optCount:
s.append(line)
bot.send_poll(message.chat.id, "Что читаем?", s)
s.clear
optCount.close()
f = open('optCount.txt', 'w')
f.close()
bot.send_message(message.chat.id, 'Голосование!')

bot.polling(none_stop=True)
image.png49 Кб, 945x329
324 2597638
>>597635
Тоже не хочет
image.png80 Кб, 912x469
325 2597639
>>597638
Скобки помогли, снова одна строка
image.png35 Кб, 529x239
326 2597641
>>597639
Выяснил еще - при готовом списке, все стартует как надо.
Памагити.
327 2597681
Решил потестить мультипроцессинг путем print("x") пять миллионов раз, в одном процессе цикл выполняется 25 секунд, а 2 процесса по 2.5кк выполняются за 33 секунды, че за хуйня?
328 2597682
>>597681
Мультипроцессинг не ускоряет терминал, а одновременные write в один пайп наверное ещё и замедляют. Хуйню сделал короч.
Screenshot113.jpg152 Кб, 1861x922
329 2597722
>>597357
В общем, психанул и решил.
Интересно даже какие там решения в ответах будут. Хотя у задачки ещё мало ответов
330 2597723
>>597722
В принципе тут можно ещё написать выход из цикла, когда max_c >= len(arr). Нет смысла дальше считать и тратить время
331 2597736
>>597682
Так и думал, что проблема в терминале. Попробовал записывать в разные файлы и все работает, надо было сразу так сделать
332 2597737
>>597641
Во-первых, учи программирование. Прям вот основы. Потом переходи к изучению основ питона. Хотя бы банально научись гуглить и читать доки.
Во-вторых, учи английский. Понадобится как в чтении доков, так и в чтении ошибок, которые прямо тебе говорят, в чем ошибка.
Надеюсь "памог".
Screenshot114.jpg7 Кб, 212x115
333 2597753
>>597722
Есть прогресс, уже не такой и плохой ковнокодер. Такой прогресс радует.
Мой результат внизу, а вверху самое залайканное решение.
Проверял на рандомном списке в 500, хотел 50000, но мой выполняет такой размер, а этот хрен дождёшься
334 2597800
>>597737
Во-первых, кодинг я знаю лучше тебя. Во-вторых, пошел нахуй. В-третьих, у меня несоответствие по api, т.е. строка одна вместо двух, пшел нахуй тупой уеба.
335 2597848
>>595847
Я перепроверил, ошибка исправилась. Ищи читай про global внутри функций.
336 2598035
>>597800
Да не рвись ты так, юный сохранялкин переменных в текстовый файл
IMG20230203170027070.jpg119 Кб, 648x754
337 2598048
Нашёл такое тестовое, потренируюсь.
338 2598131
>>598035
Да мне лень в бд и с ней ебаться, когда всего-то нужно пару строк.
А переменные без сохранения в памяти - шиза, я так все данные потеряю. Просто с ними тестировать удобнее.
Разбираюсь теперь с переносом - \n не всегда работает, и я не могу понять, почему.
339 2598138
>>597848
Спасибо, но переменные уже - прошлый век!
Я теперь другим занимаюсь, смотри.
Откуда берется злоебучий пробел в начале следующей строки?
340 2598140
>>598138
А, все, сам понял. По идее, пробел должен быть и в первой, но тг его порезал.
341 2598244
>>598138
Ето что за редактор кода такой, где почти все одним цветом подсвечивается
342 2598256
>>598244
Вижуал студио от мелкомягких.
изображение.png25 Кб, 593x344
343 2598380
Нужно сгенерить одномерный список, где подряд идут N элементов, M других элементов и так далее. Можно как-то в однострочник засунуть?
344 2598458
>>598380
если правильно понял тебя
[Array(2).fill('aaa'), Array(6).fill('bbb')]
345 2598459
>>598458
ой это тред питона, извините...
346 2598462
>>598459
на пайтотутоне будеть так
[['aaa' for i in range(2)], ['bbb' for i in range(6)]]
347 2598491
>>598131
бля какая же ёбка с этими бд пока не натренируешь 1000 штук, особенно с постгрессом каким-нибудь, реально легче в файл
image.png68 Кб, 664x583
348 2598513
>>598140
>>598138
>>597848
>>595119
Вы готовы?
Набрали воздуха и...
Вся проблема была в модификаторе открытия файла, пиздос. Пришлось искать местоположение файла и отлаживать по нему. Но оно работает! И куда проще, чем с переменными.
Осталось только дэйттайм прикрутить.
image.png44 Кб, 1007x345
349 2598517
image.png113 Кб, 1576x1035
350 2598523
>>596717
>>596724

мое решение. 20 минут ушло

берём ботинок из кучи и ищем пару к нему
не нашли? матюкаемся
разобрали всю кучу? значит всё ок

данный код моделирует поведение реального человека
351 2598652
Почему так сложно название переменной вывести, неужели никто не придумал что-то в духе print(x.name) или это я хуево ищу?
352 2598653
>>598652
В ф-стрингах есть такая хуйня, читай доки.
353 2598719
>>598652
>>598653

а именно print(f'{x=}')
cuda-apps-and-libraries.png.webp195 Кб, 1211x585
354 2598848
Привет ребята. У меня проблема следующего характера:

Поставил CUDA, встала без ошибок, проверил:

C:\Windows\System32>nvcc --version
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2019 NVIDIA Corporation
Built on Sun_Jul_28_19:12:52_Pacific_Daylight_Time_2019
Cuda compilation tools, release 10.1, V10.1.243


Когда выполняю код с EasyOCR в (PyCharm), он пишет следующее:

CUDA not available - defaulting to CPU. Note: This module is much faster with a GPU.

Подскажите, как решить проблему?
355 2598859
>>598719
Это печатает x=value, а мне нужно только вывод x.

Лучшее решение, которое нашел:

def var_name(var):
for name, value in globals().items():
if value is var:
return name

print(var_name(x))

Но мне кажется это должно делаться гораздо проще. Задачу свою выполнил и без вывода переменной
356 2598874
>>598859
Если у тебя вообще есть такая необходимость (кроме вот такого дебажного вывода), то ты сделал какую-то хуйню, переделывай.
357 2598884
>>598848

>Windows


Чел...
358 2598916
>>598884
(venv) PS D:\!IMG&Proj\PycharmProjects\pythonProject> nvcc --version
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2019 NVIDIA Corporation
Built on Sun_Jul_28_19:12:52_Pacific_Daylight_Time_2019
Cuda compilation tools, release 10.1, V10.1.243
359 2598923
>>598848
А ты уверен, что у тебя правильные версии куды и интерпретатора установлены?
360 2598931
>>598923
Ставил самые последние
361 2599067
>>598931
Последнюю накатил:
(venv) PS D:\!IMG&Proj\PycharmProjects\pythonProject> nvcc --version
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2023 NVIDIA Corporation
Built on Fri_Jan__6_19:04:39_Pacific_Standard_Time_2023
Cuda compilation tools, release 12.0, V12.0.140
Build cuda_12.0.r12.0/compiler.32267302_0

Резйльтат тот же: CUDA not available - defaulting to CPU. Note: This module is much faster with a GPU.

Python 3.10
362 2599072
>>599067
кек, что за видеокарта?
363 2599081
>>598523
Вы сеньер?
364 2599091
>>599072
GT 1030
365 2599094
>>598931
А зачем самые последние? У меня вот tensorflow 2.11.0 требует питон 3.7-3.10, куда 11.2 (это какое-то старье двухгодичной давности, новыми версиями не работает и тоже не видит гпу)
366 2599183
>>598652
В питоне можно вызвать функцию "vars()", которая вернёт тебе все переменные и их значения в виде dict'а. Можешь обратиться к ней. Их список легко вывести:

> print(vars())


Можно попробовать обойти:

> for k, v in vars().items(): print(f"{ k } = { v }")


Но при первом проходе поймаешь эксцепшн

> RuntimeError: dictionary changed size during iteration


Очевидно, из-за создания новых переменных k и v при старте цикла.
Может, поможет...
изображение.png49 Кб, 1491x543
367 2599184
>>597118
Однострочник понятнее, он локализуют операцию.
368 2599188
Захожу через браузер - всё отлично, код 200.

Делают тот же самый запрос 1 в 1 со всеми хедерами и параметрами через requests - ошибка 503.

Why?

Дело не в куках, я могу вообще на другом устройстве эту ссылку открыть в браузере, но не через requests.
369 2599200
>>599188
Твой браузер решает клаудфлару и получает печеньку.
Без печеньки хуй.
image.png19 Кб, 293x350
370 2599201
>>599184
Нет. Не понятнее. Конструкцию в квадратных скобках нужно прочитать много раз, прежде, чем поймёшь, что там происходит из-за смешения в одном месте цикла, условия и ещё ХЗ, чего. Она же, развёрнутая в две строки, оказывается намного понятнее.
Бонус: я обхожу список один раз и сравнение делаю тоже один разправда, положив хуй на валидацию.
371 2599215
>>599188
Сравни подробный обмен с тем, что должно происходить. Какой-нибудь хендшейк валится или ещё чего...
https://goonlinetools.com/snapshot/code/#836etqjdmcsuqbnow2gysm
image.png15 Кб, 414x220
372 2599220
>>596724
Сортировка нинужна
373 2599223
>>599215
Этот урл не огорожен, попробуй именно капчу, получишь задачку от клаудфлары.
374 2599225
>>599220
Сколько надо заниматься чтоб дойти до такого уровня?
375 2599240
>>599220
Мне тоже сорт не понравился, я просто показал, что в несколько строк проще прочитать, что там делается и я повторил алгоритм в лоб.
Интересный класс. Не подозревал о нём, но была мысль куда-то в том же направлении, чтобы не делать сортировку.
376 2599245
>>598859

бред полный, у одного адреса может быть сколько угодно имён. ты или знаешь, и можешь напечатать в строку, или не знаешь, и получаешь такой код:

>>> a = 123


>>> b = 123


>>> var_name(b)


'a'
377 2599247
>>599223
Попробовал. Потребовалось добавить флаг для сохранения: "-o capt", иначе получал бинарный выхлоп.
Получил файл с капчей (с теми же цифрами, но нарисованными иначе, lol)
https://goonlinetools.com/snapshot/code/#io5cj90fz8h41djd5r2jvd
Но если делал это повторно после небольшой паузы, ловил 500.
378 2599248
>>599220
нечитаемо
379 2599249
>>599247
Ну хуй знает, может там ещё какие настройки по локации есть или что-то вроде того.
Та же рекапча тоже начинает иногда задачками срать, если поймаешь зашкваренный айпи динамический.
380 2599267
Как кропнуть изображение, убрав однородный фон?
381 2599287
Есть какие-нибудь уроки/статьи по sqlalchemy? Документацию тяжело читать.
382 2599306
>>599267
Пейнт нет
383 2599312
>>599267
imagemagick умеет
А так ресайзишь до 1 пикселя в высоту - проходишь по одномерному массиву смотришь цвет. Ресайзишь до 1 пикселя в ширину - повторяешь. Кропаешь по найденым точкам.
Есть пограничные ситуации, возможны коллизии, но если картинки предсказуемые как у тебя, то отработает как часы.
384 2599319
>>599267
Нейросеточку натрави
385 2599475
>>599183

можно перед for....
написать k = v = 0
386 2599554
>>596066
startswith()
387 2599866
В Питоне есть прерывания по времени? Я хочу запустить вечный цикл, и мне нудно срабатывание в определенные часы. Неужели нет прерываний?
388 2599873
>>599866
есть
time.sleep()
time нужно импортировать
389 2599874
>>599873
ну а sleep(1)
где приостановка идёт в секундах
390 2599881
>>599873
>>599874
Так вся прога перестает работать же
391 2599884
>>599881
Типа работает цикл и фоном продолжает работать программа?
Ну там есть есть в time и datetime всяких функций с помощью который такой таймер можно реализовывать
392 2599886
>>599884
Не, ты не понял. Без цикла нельзя? Тип как прерывание на ардуинке от кнопки, только от времени. Да, по дэйттайм. Но без таймеров и циклов.
393 2599897
>>599886
Это надо эвент луп, т.е. переводить в асинк.
394 2599901
>>599886
А, да можно, конечно. break самый банальный вариант, если просто выйти из цикла и дальше продолжить что-нить ещё довыполнять, может сообщение отправит или типа того, или quit(), если тупо программу закрыть как через ctrl+c
Можно и иначе реализиовать.
Ну и в таком вечном цикле sleep() думаю всё равно пригодится, что бы он не работал 100%, а условно в каждом такте прерывался на 5-10 секунд в зависимости от нужны.

В datetime можно выбрать нужный тебе вариант текущей даты, без годов и дней, если нужно, ну и сравнивать текущую дату и условный будильник через datetime.timedelta, ну и других вариантов можно кучу реализовать.
395 2599902
>>599866
Через сигналы делается.
396 2599903
>>599886
Ну и хз что тебе точно нужно, поэтому дальше сам думай, всё можно, на питоне всё можно, где не нужно лезть в память
397 2599905
>>599886
То что хочешь называется планировщик, aka scheduler.
https://github.com/vinta/awesome-python#job-scheduler
По жизни, правда, проще обернуть боковую задачу в отдельный скрипт/вызов апи и дёргать его планировщиком ОС.
399 2599936
Объясните плиз. Методом тыка получилось превратить двумерный список в одномерный.
Но я не совсем понял где тут взаимосвязи. Можете обвести кружками или схематично показать где тут, а то по логике этой схемы вторым пиком мои действия просто копируют 2 элемента из списка. Объясните пожалуйста
400 2599947
>>599936
ну у тебя два for в генераторе. Напиши это через два for и будет понятнее.
Но заниматься подобным раскрытием вложенных списков в один надо через рекурсию, а лучше всего просто через numpy, если у тебя в списке данные одинакового типа
401 2599951
>>599936
Просто читаешь слева направо.
for x1 in arr:
__for x2 in x1:
____arr2.append(x2)
402 2599958
>>599947
Это если там неизвестна глубина вложенности, а такой двухмерный схуяли рекурсией?
403 2599976
>>599947
>>599951
Спасибо
image.png15 Кб, 348x357
404 2599977
А как мне передать параметр x в функцию, которая является ключём для сортировки? Только через глобальную переменную что ли? Про lambda знаю, но хочется именно чтоб отдельная функция была.
405 2599993
>>599897
>>599901
>>599902
>>599903
>>599905
Придумал, после небольшого сна. Оберну проверку времени в пустой обработчик сообщений. Он запускается, когда кто-то пишет в чат. Будет актив - будут проверки, и никаких залупов и постоянной нагрузки сервера!
Я гениален.
406 2600009
>>599993
Вы илон маск
Сколько уже занимаетесь прогингом?
407 2600011
>>600009
7 лет
На работу не берут 🍆🍆🍆
408 2600016
>>600011
да ну нафиг
На ютубе смотрел собеседования на джуна. Да я там даже почти на все вопросы смог ответить.
или это постановочные собесы?
409 2600036
>>600016
1. Им нужны коммуникабельные современные люди, а не гики-задроты как я.
2. Мало вакансий БЕЗ ОПЫТА. А "джунов" именно с опытом набирают, 1-3 года. Не буду же я туда слать.
3. У меня широкопрофильность идет впереди знаний, т.е. знаю из каждой сферы понемногу, но не знаю какую-либо на все сто.
Ну и инглеш - моя беда, ну не выходит у меня на нем говорить. Читаю и пишу на B 1-2, понимаю на A1
А потому, все собеседования проваливаю и числюсь РНН-господином.
В целом мог бы напрячься и найти роботаф, но мне хотелось продолжить учебу в универе. В этом году не получилось. Пытался напрячься, но перегорел. Бота пишу для добавления в портфолио в т.ч.
НАДО НАЙТИ ИНГЛШ ТИЧРА
Мимо красный диплом, тру стори
410 2600045
>>600036
Искать работу это как искать тянку в тиндоре. Если ты будешь каждый профиль изучать и читать её интересы и вкусы, постоянно оценивая насколько ты им соответствуешь, то, конечно, хуй ты там кого подцепишь.
Просто свайпишь всех, а дальше уже смотришь.
Так же и по работе. Откликаешься на всё, пофиг, что они там требуют.
411 2600048
>>600045

> Откликаешься на всё, пофиг, что они там требуют.


Даже на тех, что требуют попыт?
Снимок экрана от 2023-02-05 17-38-44.png123 Кб, 1018x822
412 2600052
>>599977
Если тебе надо чтобы функция хранила состояние - оборачивай функцию в объект.
Другое дело, что это супернечитаемо и возможно в таких нетривиальных случаях лучше написать свою сортировку.
413 2600054
>>600048
Даже если требуют опыт, если ты в целом понимаешь, что с работой справишься. Всегда можешь припездеть. Но пошлют тебя, всё равно это тоже опыт какой-никакой, дальше будешь лучше понимать, что не хватает в навыках или пиздеже. Ну поймают на пиздеже и что, пиздеть законом не запрещено.

И это ещё не считая того, что куча вакансий может быть просто фейками или по ним в реале, в принципе, не набирают и вывешивают для сбора личных данных.
414 2600065
>>600054

> если ты в целом понимаешь, что с работой справишься.


А как я пойму, если не работал? Не справлюсь знач.
>>600054

>И это ещё не считая того, что куча вакансий может быть просто фейками или по ним в реале, в принципе, не набирают и вывешивают для сбора личных данных.


А это зачем?
415 2600072
>>599977

кложурой

def sorter(n):
....def key(x):
........return n > x
....return key

sorted(pook, key=sorter(123))
416 2600086
>>600065

>А как я пойму, если не работал? Не справлюсь знач.


Готов идеально ты не будешь никогда. Пока учишь новое старое забывается.
Откликаешься, если зовут на собеседование, то тогда уже смотришь, что у них там в требованиях и готовишься по ним, повторяя и может подучивая что-то. Если понимаешь, что да, тут ты совсем дурак, то просто игноришь их собеседование и всё.

>А это зачем?


Зачем-то нужно. Наберут и продадут кого-нибудь потом
417 2600123
Аноны вот есть стока
l = ' 1 \n 2\n3\n 4 \n 5 \n \n\n 6\n'

Как из неё получить список ['1','2','3','4','5','6']
Самым эргономичным способом за минимальное количество проходов и в одну строку?
Мое решение
l = [l for l in map(str.strip, l.split()) if l]
418 2600139
>>600123
.ifdigit()
419 2600144
>>600123
l.split()
image.png3 Кб, 349x76
420 2600145
421 2600162
>>600145
Во я дебил бля пиздец. Почему-то ВНЕЗАПНО решил что новую строку сплит отдельно от пробела считает.
422 2600223
>>596102
Работает как и должна работать.

Попробуй что-нибудь делать по событиям в сети и получению сетевых сообщений от других устройств и сразу поймешь.
423 2600235
>>600086
Но эта инфа все равно в свободном доступе же
424 2600344
Помогите с тестовым:
Нужно написать приложение для Джанго проекта, которое позволяло бы добавлять на страницы теги для продвижения в социальных сетях и поисковых системах.

как я понял речь про метатеги, блядь как реализовать чтобы не нужно было каждый раз передавать теги во вьюху?? чтобы один раз в базовый шаблон прописать а он сам их подсасывал из бд такое реально?
425 2600348
>>598048
Ещё тестовые есть?
мимо тоже руку набиваю
426 2600434
>>600344
one-to-many с промежуточной табличкой. Ну или какая-то зумерская хуйня с жсоном в базе. Я ебу, что там сейчас надо.
427 2600483
Привет, анончики.
Посоветуйте, имеет ли смысл читать Лутца мидлу или я оттуда ничего не нового не почерпну?

Вводные: пишу на питоне 3 года, шарю за всю базу. Стандартная библиотека, сахар, ооп, подкапотка.
Шарю за фундаментальные принципы и паттерны.
428 2600489
>>599936
добавлю, анончик.
Если планируется итерироваться по списку, лучше взять chain
from itertools import chain
chained = chain(arr)

он возрвщает итератор, если нужен список, то используй list(chain(
arr))

Где arr - последовательность списков
429 2600491
>>600483
Нет, читай флюент бидон и свежаки от маннинг.
Лутца вообще нахуй послать, он списанный дид.
изображение.png9 Кб, 414x186
430 2600494
>>599936
>>600489
Двач сжевал код блять
431 2600539
>>600483
Разве что для навыка преподавателя, как разжевать нюфагу то что ты уже знаешь.
432 2600702
>>591322
используй утилиту black, она за тебя все форматнет по правилам PEP-8 но все же стоит проверить правильно ли
Стикер255 Кб, 436x435
433 2600704
>>600702
>>591322
бля, я просто жмякую Ctrl + Alt + L в пайчарме и не парюсь
434 2600711
>>593267

> база


> >>>foo('())(')


> >>>True

435 2600738
Аноны вот есть такой лист
list= [
('T1', ['T1-2','...',], ['T1-3','...',]),
('T2', ['T2-2','...',], ['T2-3','...',])
]

с помощью zip(list) его можно развернуть в три листа
['T1', 'T2']
(['T1-2', '...',], ['T2-2', '...',])
(['T1-3', '...',], ['T2-3', '...',])

А как сделать так же три листа, но только полностью скипая второй элемент, чтобы получилось только

['T1', 'T2']
(['T1-3', '...',], ['T2-3', '...',])

Вот например есди я сделаю это в цикле
for i, n in enumerate(zip(
list))
и в такой конструкции скипну второй элемент if i == 1: continue

В этом случае вторые элементы вообще обрабатываться не будут или они в генераторе итераторе zip всё равно все посчитаются просто в обертку for не попадут? Такой вот вопрос к знающим что там под капотом.
Или как лучше сделать чтобы второй элемент вообще не обрабатывался?
436 2600740
>>600738

>zip(list)


zip(\*list)
Безымянныйfdgfsdg.png140 Кб, 999x437
437 2600893
Есть temp-mail.org, хочу получить оттуда значение поля с емейлом, можно клацнуть на копи и получить его в буфер обмена, но хочу разобраться где же емейл лежит без буфера.
В идеале его получить как-то так driver.find_element(By.XPATH, '//*[@id="mail"]'). Но значения емейла вообще нигде нет в коде, кнопка делает data-clipboard-target="#mail", но откуда она берет значение емейла и на экране-то сгенерированный емейл есть, ну и как его получить в переменную в питоне?

Чекните на картинку там всё показал.
438 2600894
>>600893
Передается в пост запросе, нюфань.
image.png115 Кб, 977x758
439 2600918
>>600893
я не знаю, почему хтмл не обновляется, но значение инпута лежит просто в input.value
440 2600923
>>600918
А как его в переменную в питон получить оттуда?
441 2600928
>>600918
document.getElementById('mail').value
можно так в селениуме или нет, я не знаю
442 2600933
>>600928
Пробовал:
driver.find_element(By.XPATH, '//*[@id="mail"]')).value
И так тоже By.ID, 'mail'
'WebElement' object has no attribute 'value'

Может селениум его не видит?
443 2600934
>>600933
а сам элемент находит?

инпут не сразу на сайте заполняется, там задержка.
попробуй слип сделать секунд на 10

может, ты там долбишь селектором, когда страница ещё не загрузилась, или инпут не заполнился
444 2600937
>>600933
Пиздец ты беспомощный, там посылается один пост реквест и приходит адрес и какой-то токен, видимо для последующей проверки.
Выкидываешь нахуй все селениумы и делаешь один запрос через реквестс.
445 2600939
>>600937
Да, пиздец. А ещё для этого сайта апи есть специально для питухона сделанное.
446 2601029
>>600939
Только апи платное.

>один запрос через реквестс


И хуй тебя пустить через реквестс клаудфлара, сначала посмотри как там всё устроенно а потом кукаретизируй.

Ну и продолжим если бы у меня был не начальный уровень в питоне, я бы наверное нубских вопросов не задавал.
447 2601038
>>601029
Ну проходишь клаудфлару селениумом, экстрактишь куки и дальше реквестами.
Алсо, есть либы для решения клаудфлары, хотя они регулярно ломаются, но можно поискать актуальные.
448 2601163
>>600045
Кст, потому я тянку и не могу найти на сз наверн. ПОХУЮ, мне все равно тяны из ИРЛ нравятся В РАЗЫ больше.
Только они внимания на меня не обращают, но это уже совсем другой вопрос.
449 2601170
>>601163
Ну искать тянок на СЗ это ещё тяжелее, чем работу, лол.
Там на 1 тян 9 кунов и многие тян просто ради внимания сидят.
450 2601179
>>601170

>Ну искать тянок на СЗ это ещё тяжелее, чем работу, лол.


>Там на 1 тян 9 кунов и многие тян просто ради внимания сидят.


Да вот знакомый говорит, что находит, как раз из того места, для которого этого бота пытаюсь написать а вместо этого капчую. Так-с, надо собраться.
451 2601199
>>601179
Да я тоже находил. Можно, конечно. Но лучше без тян и без работы, чем с тян и с работой жить.
452 2601322
>>601199
До фаерболлов 4.5 года, не хочу быть магом.
453 2601374
сап двач

Подскажите где можно про регулярки подробно почитать

Пробовал доки осилить, но ахуел от сложности повествования а регулярки и без этого трудно даются.

И заодно подскажите стоит ли их полностью изучать или же только актуальный минимум для работы?
454 2601384
>>601374
https://stepik.org/course/107335/syllabus

>И заодно подскажите стоит ли их полностью изучать или же только актуальный минимум для работы?


Они не настолько сложный и учить там не так уж и много, но по началу череп плавиться от них.
455 2601386
>>601384
дай Бог тебе здоровья
456 2601429
>>601374
https://www.packtpub.com/product/not-set/9781801076944
Теория.
Практика и ещё теория есть у фриддла и ещё есть кукбук от орайлей. Там половину можно не читать, потому что для всяких велосипедных дотнетовских движков. Тебе будет достаточно православного pcre, который почти везде.
Алсо, рекомендую другие курсы чела из ссылки выше, у него много всего интересного про парсинг и т.п.
457 2601451
>>601374
держи, сразу с практики
не нужны эти курсы для ебланов

https://regexone.com
458 2601454
>>601451
У тебя там где-то пятая часть от базовых фич, самые основы.
459 2601473
>>601454
самое то для вката, с практическими заданиями

>пятая часть от базовых фич, самые основы


это ложь
460 2601479
>>601473
Ну сравни https://www.regular-expressions.info/refflavors.html
Это тоже не идеал, но намного лучше покрытие.
461 2601483
>>601451
Изучать можно разными способами, еблан же тут только ты.

Тот курс отличный для регулярок с практикой и отличным объяснением принципов. https://regex101.com/ Ещё стоит добавить этот сайт, который визуализирует результат и попутно описывает, что регулярка делает
462 2601493
>>601479

> не идеал, но намного лучше покрытие


> Regular Expressions Reference


проиграл

а нахуя тебе 15 видов ворд баундари в различных имплементациях, если в пайтоне это \b?

>>601483
а есть курс как какать?
463 2601497
>>601493
В твоей хуйне даже базовейшего баундари нет, о чем говорить?
Вообше, питонья re весьма каличная, есть более продвинутая regex.
image.png8 Кб, 837x62
464 2601501
>>601497

> В твоей хуйне даже базовейшего баундари нет, о чем говорить?



есть там о баундари. говорится ровно столько, сколько нужно о нём говорить
465 2601504
>>601501
А модификаторы есть, \A \z есть, лукэраунды есть?
Хули ты упираешься? Это заметка уровня вкатуну нагуглить, набрутфорсить простейшее решение перебором комбинаций закорючек и забыть об этой хуйне.
466 2601513
>>601504
4/5 нужного для работы там есть, и сразу с полем для практики. самое то для вката и решения своей первой задачи
всё остальное приложится чтением доки, когда потребуется сделать что-то нетипичное

> заметка уровня вкатуну нагуглить, научиться решать 90% задач за 1 час


поправил. и да, так и надо

а ты что скиданул? глобальный регексп референс, где описываются особенности имплементации ворд баундари в языке программирования Tcl. нахуй эта информация вообще кому-то всралась? из-за таких как ты люди боятся регулярок и думают что это ебать заморочки
467 2601516
>>601513
То что я скинул, это глобальный референс что вообще есть, с божественным перлом наверху пирамиды.
Выискивать какие-то вайтспейсы или не вайтспейсы можно и средствами языка, регулярка это суть кодогенерация для автоматизации такой рутины. Чем более наворочен движок, тем больше он может автоматизировать.
image.png101 Кб, 347x450
468 2601526
Ну наконец-то спиздили.
469 2601536
>>601516
всем похуй на пэрл, челик

регулярки в 99% случаев нужны, чтобы спарсить нужные тебе данные из кучи мусора

> Выискивать какие-то вайтспейсы или не вайтспейсы можно и средствами языка


средства языка полезны, чтобы подготовить мусор на удобоваримые куски, не загоняя трехэтажные костыли в регулярку
470 2601544
>>601536
Ты ещё мал и глуп и не видал больших залуп, как говорится.
Копайся в своем мусоре, пока задачки поинтереснее не вылезут, где ты нахуевертишь велосипед, который одной строчкой решается.
471 2601550
>>601544

>ты нахуевертишь велосипед, который одной строчкой решается



жестко ты ща регулярщиков приложил
472 2601560
>>601550
Привожу тебя опять же в пример перл, с которым в 1987 смешной усатый челик сделал си без мозгоебли, где можно было однострочником (даже не скриптом) заменить убогую простыню на си. И туда же он вхуярил все тогда популярные грепы, седы, авк, баши и прочее.
Оттуда же растут все теперешние удобства. Хотя бидон демонстрирует желание всё сделать чтобы не как в перле, это очень забавно.
473 2601581
>>601560
рядом с питоном код на пэрле это величайшая мозгоебля
474 2601602
>>601581
Наоборот - это как тебя заставляют писать в косую линейку, а потом пиши как хочешь. Перл взлетел слишком рано, чтобы его поняли. Потом усач запилил новый язык, который интересный, но к оригиналу имеет минимум отношения, а кор группа основного слилась по мере его депопуляции.
Но он всё равно остается в базовых пакетах большинства дистров, даже гит там как-то завязан. Такие дела.
изображение.png75 Кб, 225x225
Помощь бога ради 475 2601674
Короче, гайз, такой квешн, не серчайте на случай чего, но я не знаю даже, как сформулировать подобного рода вопрос, чтоб получить хоть чета от гугла, вообщем, я пишу телеграм бота на питончике, и мне нужно сделать так, чтоб по прошествию определенного количества времени, пускай это будет раз в сутки, бот обновлял данные в бд, ну вот для понимания, есть у меня некий юзер, у него имеется 5 попыток в сутки проводить определенные действия с ботом, вызывать какую-то команду, после чего бот шлет его нахуй до завтрашнего дня, можете мне хотя бы микронаводку дать, как реализовать нечто подобное, ну или где почитать/посмотреть что-либо на этот счет
476 2601690
>>601674
Пиздец, ну ты и тупень, я ебал!
Берешь и взыодишь таймер на сутки по событию с привязкой к юзер айди.
В чем проблема вообще?
477 2601692
>>601690
ну наверное в том, что я вкатываюсь в питон со вчерашнего дня
478 2601693
>>601674
Гугли python schedule task. Что-нибудь найдешь подходящее
479 2601730
>>601602
Т.е. Перл это мертвый язык без задач не прошедший проверку временем? Ну ясно, это и так все знают.
480 2601776
Аноны, доступ к переменным объявленным внутри класса доступен только через self ? Это же неудобно постоянно добавлять селф, если я хочу делать много вычислений с этими переменными.

Поясните чего я не так понял?

class Babushka:
....hui = True
....def dedushka_verification(self):
........if self.hui:
............print('this is Dedushka')
481 2601788
>>601776
Можешь в начале функции писать hui = self.hui
482 2601792
>>601788
И проебать строки только для того чтобы перекладывать переменные из пустого в порожнее? Как это слишком тупо. Тогда уж проще сделать словарь с с коротким именем и из него переменные брать _['hui']
Неужели так и задумано и иначе никак?
483 2601820
>>601792
Если у тебя какие-то там вычисления то обьяви их как статикметод и передавай все туда параметрами, а если у тебя будет 15 параметров то пошел нахуй.
484 2601824
>>601792
назови селф андерскором и смоктай бабушкин _.hui
485 2601826
>>601820

>если у тебя


Чел. Я не знаю что у меня будет через неделю или год, просто учусь и прикидываю варианты, может и 15 переменных понадобится и мне эта хуйня кажется очень неудобной. Чому бы не сделать видимость как в остальном пространстве?
Ладно, наверное так сделали из за вариантов наследования или я не знаю зачем, нет других вариантов и ладно. Буду знать.

>>601824
Хорошо.
486 2601854
Пайчарм заебал за меня всё решать. Он сохраняет каждый пук в историю изменений и сразу в файл на диск, неудобно, я привык по-старинке, как диды.

Куда жать чтобы сделать в нем КЛАССИЧЕСКОЕ поведение - нажали Crtl+S сохраняемся, до тех пор файл старый лежит на диске без изменений.
487 2601864
>>600086
Хочу создать резюме с фейковым ФИО, чтобы публично выкладывать и рассылать, а на собесе представляться реальным. Нормально или плохо воспримут?
488 2601867
>>601864
Зачем?
489 2601873
>>601864

>плохо воспримут?


this.
HR вообще не любят "особенных" и не зря.
490 2601877
>>601776
Лол, привыкай.
Без self никуда
491 2601892
>>601820
Этот джедай прав кстати.
492 2601894
>>601854
Ты совсем тупой чтоле? Пошуруди в настройках.
Найдешь где сюда доложи. Все, давай выполняй задание, время пошло!
493 2601898
>>601854
Для меня автосейв наоборот был таким облегчением. Вообще не понимаю, нахрена мы мудохались с этим сейвом? Файлы регулярно просирались. Что это за массовый идиотизм был.
494 2601903
Поясните что такое перегрузка методов(method overloading) на примере.
495 2601909
>>601903
Это настолько базовая хрень, которая объясняется вообще везде, что лучше послать тебя в гугл.
496 2601912
>>601776

>если я хочу делать много вычислений с этими переменными.


...то ты делаешь какую-то хуйню
image.png13 Кб, 437x394
497 2601920
498 2601932
>>601920

>Заметьте, что перегрузка методов(method overloading) — создание методов с одним и тем же именем, но с разными типами аргументов не поддерживается в питоне.



Меня вот это предложение смутило. То что в наследуемом классе можно перезаписать метод с таким же именем это как бы понятно, но что имелось в ввиду в гринтексте?
499 2601935
>>601932
Это в шарпе такая хуйня есть и может ещё где - можно делать методы с одинаковыми именами, но с разным набором параметров. И будет вызван тот, где набор параметров подходит по типам.
В питоне такая хуйня делается ручками, проверяя, что там пришло
500 2601943
>>601935
Кажется начинаю понимать. Пиздец конечно УЧИТЕЛЯ в интернете так обьясняют что только силльнее непонимаешь, наверное специально сабботируют вкатунов, чтобы они не вкатывались в умирающий айти рынок.
501 2601946
>>601943
Большинство учителей это и ест те же самые вкатуны, которые после курсов сами пошли их продавать.
502 2602045
>>601943
Зачем учителю или вообще помидору сидеть и в интернете бесплатно делать то, за что он деньги получает работаю по 8–10 часов в день? Ну вот отхуярил ты весь день, объясняя долбоёбам джунам, в чём они не правы в кодревью, потом вечером пришёл домой и вместо пивка/кота/секса с женой или проверки уроков у детей ты садишься за комп и начинаешь отвечать бесплатным долбоёбам где-то в интернете, которых даже не знаешь. Просто из альтруизма ёбаного??

Я чё-то логики не вижу.

У Питонистов есть такой кадр — Тишка. Грустное чмо без личной жизни, 20 часов в сутки сидит в своём чате и отвечает на одни и те же вопросы. Но не все ж такие святые и продвинутые. Большинству похуй. И учат в интернете тебя такие же как ты — запомни. Когда учишь кого-то, то ллучше учишься сам. А потом ты это дело бросаешь и начинаешь работать за деньги.
503 2602059
Аноны, если в словаре будет сверхдохуя ключей он начнет тормозить или так же будет моментально работать? Какие подводные камни, скажем если ключей будет тысяч 50 - ключ. строка от 10 до 30 символов латиницы. Такой словарь как будет работать? Может он будет 20 гигов оперативной памяти загружать?
504 2602067
>>602059
Проблемы начнутся от десяти миллионов ключей. Ниже и не заметишь.
505 2602069
>>602059
Словарь это хешмап, он работает быстро в любом случае.
506 2602077
>>602045

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


Я понимаю ещё если это какой-то интерсный нетривиальный вопрос. Но блять, 90% по питончику - элементарное говно от вкатунов, которые не могут написать запрос в ёбаный гугл.
Я вообще не понимаю какие могут быть вопросы по питону, кроме как каких-то дебрей cpython или либ. Он ж блять прозрачный.
507 2602088
>>602077
Это когда ты понимаешь приблизительно, как всё работает.
А так это просто кейворды ебучие, которые надо заучивать.
508 2602110
>>602088
Ну так и изучи как работает, лол. Посмотри сишку, посмотри лекции по cpython и питоньим структурам и база будет.
509 2602115
>>602110
Это я с точки зрения вкатуна. Им и плюшевый бидон страшен, а тут сишки-хуишки.
510 2602142
>>602110
Это в тебе спесь говорит, гордыня и тщеславие, а ещё самовлюбленность и вот это всё. Со времен древнего мира так работает обучение - вот есть микрочелик который ничего не знает и есть учитель, который ему объясняет ЭЛЕМЕНТАРНЫЕ вещи. Потому что они элементарные только для тех кто их понял.
Можно пиздить личинуса за то что он алгебру понять не может, а можно метнуть в него учебник и сказать изучай там всё написано, но специально для этого есть учителя.
511 2602162
>>602142
Чтобы понять рекурсию нужно понять рекурсию.
512 2602480
1
513 2602541
>>599094
И как мне скочать версию 3.9 например? Там исходники только на сайте выложены, мне их откомпелировать чтоле придется?
514 2602632
>>602541
на сайте питона ты можешьс качать любую версию и использовать их одновременно.
515 2602649
>>602067
>>602069
Т.е. словарь надо надо просто делить на части размером по 10млн и тогда вообще проблем не будет?
516 2602663
>>602649
Если действительно есть такая задача, то лучше сделать эксперимент.
517 2602731
>>602663
Суть такова, что есть такой плоский массив
[name1,
id1,
id999,
id2,
name2,
id3,
id999,
id4]

И этих id буквально миллионы и главное они могут повторяться под разными name. А задача такая: вот тебе куча id тысяч 5 и надо в этих миллионах быстро найти все name к которым эти id принадлежат.
У меня до этого как-то был bisect на эту задачу напрограммирован, но там пиздец, делал давно когда только питон осваивал. А сейчас база разрослась ещё больше и вот думаю что скоро переделывать придется.

У меня такой вариант есть отсортировать все id с сохранением их изначального индекса и потом просто делать бинарный поиск -> что-то находится смотрим его изначальный индекс т.е. под каким name это id стояло - всё задача выполнена.
Второй вариант это словарь.
id5
518 2602732
Сап, снова. Пытаюсь разобраться с datetime. Вот есть команда import datetime, а есть from datetime import timedelta.
Вопрос. Разве импортирование материнского каталога дейттайм не включает дельту (дочерний), и почему приходится отдельно подключать?
519 2602739
Салют.
Я пытаюсь понять всю эту билиберду с match-case...
Но застрял, не вижу подходящих примеров.
Вот, смотрите. Разрабы говорят, что это мол не просто case, сравнивающий переменную с заданными шаблонами, а ни хухры-мухры pattern matching!
Заебись, мне нравится. Но как применять эти сраные паттерны?
Вот, например, пик 1. У меня есть паттерн isalnum, но я не понимаю, как его применить к вводимой строке, что написать вместо звёздочек?..
В случае if-elif-else это получается не так красиво (и таки там есть, где ошибиться), но в целом фичасто и понятно, но я не нашёл ни одного примера с подобным паттерном.
И всякие другие проверки... Например,

> from ipaddress import ip_address


Даёт нам возможность проверить, является ли строка IP-адресом. Правда. его нужно обернуть в функцию (пик 2) для того, чтобы получать bool. но это детали.
Но я не вижу, как проверять строку на соответствие такому паттерну.
Поясните, пожалуйста.
520 2602747
>>602732

>import datetime


Импортирует весь модуль.

>from datetime import timedelta


Импортирует конкретную функцию.
В первом случае в коде. для вызова timedelta тебе нужно написать

> datetime.timedelta()


Во втором:

> timedelta()


Ещё в первом случае всё остальное из модуля, кроме перечисленных функций (в данном случае одной функции) окажется недоступно тебе.
Бонус: если написать

> from datetime import timedelta as td


То вызов в коде можно сделать так:

> td()

521 2602752
>>602747
Ааа, спасибо
522 2602756
>>602731
Тут бд вроде sqlite просится, на самом деле.

>У меня такой вариант есть отсортировать все id с сохранением их изначального индекса и потом просто делать бинарный поиск


В питоне будет медленее, чем хэшмапа. Плюс, тебе будет сложнее добавлять новые элементы. В целом, проблем с со стандартной мапой не должно быть, просто нужен эксперимент. Если будет не устраивать -- можно сделать модуль на C/C++.
Мне с дивана сложно сказать характер нагрузок и будет ли, допустим, количество элементов расти со врменем.
523 2602759
>>602731
Но вообще, если у тебя нет цели сделать архиоптимизированное решение, то просто пили мапу. Просто сделай сначала прототип. Питон конечно жручий до памяти, но 10 млн элементов - это не так много.
524 2602763
>>602756
>>602759
Ну вот все словари нахваливают и ИТТ аноны в том числе. А анон, как известно, пиздеть не будет, тем более он тимлид уже.

Значит буду словарь делать тем более это самое простое.
525 2602769
>>602739
в твоем случае матч бесполезен, ты проверешь содержимое строки, а не матчишь тип, значение или структуру
526 2602781
>>602739
В самом PEP как правило есть примеры использования нормальные из реального кода или даже из самого питона.
image.png67 Кб, 256x250
527 2602782
что они хотят от меня? Какую еще сумму подмассива в массиве, если там только один массив? Откуда у них 6 если сумма массива равна 1?https://www.codewars.com/kata/54521e9ec8e60bc4de000d6c/train/python
image18 Кб, 360x328
528 2602785
>>602782
Вам не стоит заниматься погромированием.
529 2602787
>>602785
Иди оленю в жопу, черт лысый. Переведи чо они хотят от меня? По какому принципу у них отбирается последовательность?
530 2602797
>>602785
Они хотят чтобы моя последовательность не опустилась ниже нуля?
531 2602798
>>602787
>>602787
Да уймись ты. Считай просто что не справился с тестом на самом раннем этапе - понимании задачи. Это как участвовать в гонке Париж-Дакар, но по пути к своей машине упасть в лужу и захлебнуться нахуй.
532 2602801
>>602782
Задача о максимальной сумме подмассива заключается в нахождении максимальной суммы непрерывной подпоследовательности в массиве или списке целых чисел

Легкий случай - когда список состоит только из положительных чисел и максимальная сумма равна сумме всего массива. Если список состоит только из отрицательных чисел, вместо этого возвращается 0.

Считается, что пустой список имеет нулевую наибольшую сумму. Обратите внимание, что пустой список или массив также является допустимым подсписком/подмассивом.

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

юзай норм переводчик
533 2602802
>>602731
Почему бы тебе не сделать просто словарь, где ключами являются id, а значениями множества имён?
534 2602807
>>602798
всё я понял теперь задание, черт ты тупоголовый и гнилозубый.
>>602801
спасибо, добрый человек
535 2602808
>>602802
Не знал что будет быстрее, словарь или бинарный, но уже остановился на словаре.
536 2602818
>>602807
Говорят что программирующим нейросетям будущего будет нужен оператор, который будет истолковывать им задачу. Папавси, скайнет.
537 2602821
>>602818
а сколько времени нейросетям нужно что бы закосплеить фильм терминатор
538 2602823
>>602818
А будет нейросеть, которая будет сидеть на бордах и отыгрывать роль гнилого лысого хуесоса типа этого >>602785 ?
539 2602825
>>602823
так уже. бвахахахахаха
гнилозубая нейросеть
540 2602830
>>602823
да не обижайся ты
Это скорее всего тим-лид сеньор. Они на подсознании вкатунов чувствуют и душат , дабы избавиться от будущей конкуренции
image147 Кб, 1200x675
541 2602835
Через пару часов зайдет скайнет-кун и спросит почему последний тест на скорость не проходится.
2023-02-0719-40-06.png21 Кб, 616x346
542 2602845
Всем привет. Прошу помочь.
Есть датафрейм, с которым надо поработать в pandas. В нем, как видите на картинке year и quarter. Нужно добавить колонку с нормальной датой в формате год-месяц-день (день пусть будет 1 число, допустим). Как это сделать?
Сначала я мудился с pd.to_datetime , потом понял, что наверное надо бы сначала создать колонку с месяцами, через лямбда функцию, например, преобразовать quarter в month, но голова уже ничего не соображает и выходят ошибки.
А может и другой способ есть.
Подскажите, пожалуйста.
543 2602847
>>602845

>потом понял, что наверное надо бы сначала создать колонку с месяцами, через лямбда функцию, например, преобразовать quarter в month, но голова уже ничего не соображает


ты че даун? это встроенная в пандасе функция, и ты правильно изначально мыслил
544 2602890
>>602782
Какая то совсем простая ката для 5киу.
545 2602970
>>602890
Иногда я решаю 5кю легче легкого, а иногда 7кю часами могу решать
546 2602984
>>602970
раньше тож на codewarse сидел , 5 кю , но потом открыл leetcode и теперь охуеваю от своей крутости
547 2602996
>>602984
Литкод круче?
548 2603006
>>602996
имхо - да

1 - сложность задач выше (easy на leetcode - 6-5кю на codewars)
2 - графики скорости выполнения кода и памяти и сравнение с другими
3 - более удобный тестер (можно свои тесты делать , более подробный feedback на ошибках)
4 - есть раздел с задачами которые задают на собесах
5 - большой онлайн , ответ на вопрос не заставит себя ждать
549 2603027
>>603006
Чекну. Хотя пока прекратил задачки решать. Столько документации ещё надо прочитать и пару книжек, а на их решение уходит слишком много времени.
550 2603133
Тут кто-нибудь был модератором на дваче? Что они видят? IP, User Agent и прочую базовую хуйню из заголовков или прям весь fingerprint?
551 2603138
>>603133
Без звания майора минимум сюда в модераторы не берут, ну майров и хменов ещё.
По идеи тут твои паспортные данные видны
552 2603140
>>603138
Ты думаешь ты пошутил, но двач на серверах мейла, и вк на серверах мейла, у них весь твой цифровой след, сложить 2 и 2 и найти твою страницу не составит труда.
15995997041840.jpg46 Кб, 480x337
553 2603143
месяц гуглил узкую проблему, весь гугл цвета посещенных ссылок. недавно баловался с чат гпт. сегодня думаю, дай спрошу, чем черт не шутит. и эта тупая хуйня надавала годных советов. сижу теперь имплементирую. откуда она знает больше гугла?
554 2603153
>>603143

>откуда она знает больше гугла?


Интерполяция/экстраполяция. По узкой теме у гугла будет 5 ответов, а сеточка способна, опираясь на них, размазать бесконечное поле ответов. Не все, конечно, правильные, но тебе повезло.
555 2603208
>>603143
Какая отвратительная рожа блевотное выражение ещё и зуб типа торчит и на животное похоже. Фу мерзко
Снимок экрана (1170).png349 Кб, 1920x1080
556 2603220
Только не обоссыте, как параметр kick блять прописать? Куда его не прописывал, хуй. Сам только учусь, нихуя не понимаю
import tkinter
import random
import pyautogui as pag
import time
from tkinter import *

class Programm():
kick = ["q","w","e"]
turn = 0
done = False
heal = ["1","2","3","4"]
def __init__(self,Title):
self.Window = Tk()
self.Window.title(Title)
self.Window.config(width=360,height=160)
self.Display = Label(self.Window, text="Начало программы")
self.Display.place(x=50, y=20, width=240, height=30)
self.Button1 = Button(self.Window,text="Начать",command=self.Button1Click)
self.Button2 = Button(self.Window,text="Закончить",command=self.Button2Click)
self.Button3 = Button(self.Window,text="Карман",command=self.Button3Click)
self.Button1.place(x=20,y=70,width=100,height=30)
self.Button2.place(x=240,y=70,width=100,height=30)
self.Button3.place(x=120,y=120,width=100,height=30)
self.Window.mainloop()
def Clicker(self, done,kick):
self.kick= kick
while not done:
time.sleep(1)
pag.hotkey(random.randrange(kick))
time.sleep(random.randrange(1,2))

def Button1Click(self):
self.Display.config(text="Программа работает")
self.Clicker(done=False)

def Button2Click(self):
self.Display.config(text="Программа остановлена")
self.Clicker(done=True)
def Button3Click(self):
self.Display.config(text="Хил используется")

Window = Programm("Заголовок")
Снимок экрана (1170).png349 Кб, 1920x1080
556 2603220
Только не обоссыте, как параметр kick блять прописать? Куда его не прописывал, хуй. Сам только учусь, нихуя не понимаю
import tkinter
import random
import pyautogui as pag
import time
from tkinter import *

class Programm():
kick = ["q","w","e"]
turn = 0
done = False
heal = ["1","2","3","4"]
def __init__(self,Title):
self.Window = Tk()
self.Window.title(Title)
self.Window.config(width=360,height=160)
self.Display = Label(self.Window, text="Начало программы")
self.Display.place(x=50, y=20, width=240, height=30)
self.Button1 = Button(self.Window,text="Начать",command=self.Button1Click)
self.Button2 = Button(self.Window,text="Закончить",command=self.Button2Click)
self.Button3 = Button(self.Window,text="Карман",command=self.Button3Click)
self.Button1.place(x=20,y=70,width=100,height=30)
self.Button2.place(x=240,y=70,width=100,height=30)
self.Button3.place(x=120,y=120,width=100,height=30)
self.Window.mainloop()
def Clicker(self, done,kick):
self.kick= kick
while not done:
time.sleep(1)
pag.hotkey(random.randrange(kick))
time.sleep(random.randrange(1,2))

def Button1Click(self):
self.Display.config(text="Программа работает")
self.Clicker(done=False)

def Button2Click(self):
self.Display.config(text="Программа остановлена")
self.Clicker(done=True)
def Button3Click(self):
self.Display.config(text="Хил используется")

Window = Programm("Заголовок")
557 2603225
>>603220
К слову, в функциях после self тоже прописывал, в коде их нет ,ибо не работали. Бля, я вот хуй знает как это делать
558 2603309
Пытаюсь я создать ключ SSH и он создаётся, но где его потом найти? папок нет, скрытые все показаны
559 2603315
>>603309
В .ssh
Screenshot119.jpg22 Кб, 970x83
560 2603321
>>603315
нифига там нет,
может из-за кириллицы
561 2603349
>>603321
Ладно, смог в другой папке сделать. Возможно и этот в какой другой папки появляется. А тот путь который пишется реальным не является
562 2603397
Перекатывать в этом месяце планируете, не?
563 2603431
>>603397

>Так перекати


>Кто, я?

564 2603440
>>603349
И не надо было просто давать имена файлам.
В таком случае они создаются в папке с репизотория.
show.png11 Кб, 270x120
566 2613507
>>600711

>> Если каунтер вывалился в минус - False.


Читай внимательнее.
Капча с требя даблами подтверждает.
cmdZYnp9OOtqY.png19 Кб, 1103x639
567 2651856
>>598380
Однострочники эти ваши
import functools
functools.reduce(lambda p, c: p + [c[0]] звездочка c[1], {"aaa":2, "bbb":6, "ccc":3}.items(), [])
Тред утонул или удален.
Это копия, сохраненная 3 апреля 2023 года.

Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
« /pr/В начало тредаВеб-версияНастройки
/a//b//mu//s//vg/Все доски