antikuz
ну если это внутри функции делать
antikuz
правда мне кажется как то по другому должно выглядеть, лаконичнее
МишанЯ
antikuz
да это я просто написал, failed всмысле если совпадение не будет найдено он дойдет до этой строки
Andrey
я не понимаю проблему до сих пор
Andrey
x = 4
list1 = [1,2,3,4]
list2 = [6,7,8,9]
lists = list1 + list2
print(lists)
if x in lists:
print("in list")
else:
print("not in list")
МишанЯ
Это уже не под циклом for, верно?
Andrey
всё выполняется один раз
Andrey
зачем нужен for ? какое он имеет отношение к проблеме?
antikuz
всё выполняется один раз
я так понял ему при нахождении нужно будет в топ списке где элемент что-то с ним сделать
antikuz
МишанЯ
antikuz
МишанЯ
SetazeR
МишанЯ
МишанЯ
Tishka17
Tishka17
Если второе:
for a in lists:
if x in a:
что-то когда есть
break
elae:
То, что делаем когда нет
Tishka17
Хотя если в функции, с ретурнами ок
antikuz
не совсем понимаю как будет код работать, ему нужно проверить один раз вхождение во все списке и где найдется элемент его изменить
МишанЯ
antikuz
а в твоем когда он же будет выполнять else каждый раз?
antikuz
или else можно отдельно ставить
Tishka17
МишанЯ
Ой, а у for может быть else?😏
Tishka17
Ага
Tishka17
Выполняется когда не было break
МишанЯ
Узнаю многое...😂
Tishka17
Ну да
Tishka17
Но иногда удобно. Если что-то ещё надо после цикла сделать и ретурн не подходит
МишанЯ
Кстати, выход из функции можно же просто ретурн, не возвращая ничего?
Tishka17
Но вообще ретурн лучше, да
Tishka17
Tishka17
Tishka17
И я говорю, мой вариант из-за неожиданного else у цикла не самый понятный, но иногда удобно
МишанЯ
Теперь главное чтобы на потоке не сказалось. Функция в отдельном потоке запускается. Если функцию вырубим return, поток же должен тоже завершиться, верно понимаю?)
МишанЯ
Я попробую и те и те, взависимости от возможного дальнейшего кода в функции
Tishka17
МишанЯ
Ну что ж, будем быдлокодить далее😊
kolay
kolay
Каждое утро, одно и тоже
🍁 Jaŭhien
обычное дело для телеги
paulwinex
⭐️ Приветы. Вопрос про Python3. Пишу приложение на PySide2/PyQt5. Ранее присал на 2м и было норм, но на 3м при появлении многих ошибок связанных с Qt питон просто крашится без трейсбеков и каких либо сообщений что где случилось.
ВОпрос в том как перехватить ошибку чтобы узнать что где сломалось? Надоело методом тыка искать. Я думаю какойто отладчик должен быть или както перехватить хук ошибки и сдамбить в файл. В общем какойто способ перехвата сообщения нужен.
Дебагеры, типа pdb, в которых построчно выполнять код в поисках места падения не подходят, надо просто перехватить сообщение во время краша.
Tishka17
Смотря как крашится. Если это сегфолт, никакой питоновский трейс не увидишь
Tishka17
Ты уверен, что крашится?
Tishka17
Можешь запустить из консоли и когда закроется exit код посмотреть?
Tishka17
Есть вероятность, что просто окно закрывается, например
Anonymous
😅
paulwinex
а есл иошибка запускается когда использую pythonw
paulwinex
без консолей
Tishka17
Только?
paulwinex
ну в первый раз была причина того что sys.stdout в таком случае крашил. я это я поправил и теперь другие ошибки вываливаются
Tishka17
Вообще, логи ведёшь?
paulwinex
в частности в Qt ключит один класс когда создаешь инстанс
paulwinex
логи да но в этих местах нифига не срабатывает лог
paulwinex
он прост окрашит
Tishka17
Tishka17
Какой, например?
paulwinex
ну вот, создаю инстанс и пиндык. краш без намека на то что случилось
paulwinex
ща
paulwinex
https://bugreports.qt.io/browse/PYSIDE-922?focusedCommentId=445590&page=com.atlassian.jira.plugin.system.issuetabpanels%3Acomment-tabpanel
paulwinex
вот тут эта проблема описана
paulwinex
но совет там предложенный не помог
paulwinex
еще усложняется тем что краш при закрытии часто. и пади пойми что где случилось. То потоки не верно закрыл, то функция не так написана. Вроде простые косячки но приходитс яискать методом тыка
paulwinex
в общем я не за советом как это делается обычно, я спрашиваю может кто тоже искал такой способ дебага через внешние обертки или спец модули
Tishka17
Ух
Tishka17
Ну это сегфолт, да. Брать gdb и анализировать core файл
paulwinex
самое похожее что видел это скачать исходники питона и компилить в дебаг режиме, ну и через компилятор дебажить)
Tishka17
paulwinex
Не питона. Pyside2
ну там был разговор в целом про питон. это уже мой частный случай с qt
paulwinex
ладно, спасиб. я попробовал)
Tishka17
Если баг в Qt, увы
Tishka17
Но трюк с gdb никто не отменял
paulwinex
нет, баг может быть в моем коде, например написал conenct вместо connect