Задать вопрос
  • Как остановить цикл?

    trapwalker
    @trapwalker Куратор тега Python
    Программист, энтузиаст
    У вас такой длинный цикл. что надо кнопкой останавливать -- переделывайте. Такого в приложении быть не должно.
    Длительные операции нужно делать кусочками и асинхронно.
    Сформируйте очередь задач. Каждая задача должна быть мелкой и атомарной.
    У вас тут, судя по всему, сплошная архитектурная лапша в коде.
    Не ясно как вы этот код запускаете, не ясно что у вас вокруг него.
    Ясно только, что вы тут намудрили какой-то витиеватый костыль и пытаетесь решить стандартную задачу каким-то кустарным дендрофекальным методом.

    Из всего могу срезюмировать.
    • Выделите и изолируйте модель задачи.
    • Накапливайте их в очереди.
    • Заполняйте очередь когда это требуется. Вытаскивайте и обрабатывайте отдельные задачи когда это возможно, но асинхронно.

    Более подробно можно подумать, если объясните чего пытаетесь тут добиться.
    Если попробовать играть по вашим правилам и дать ответ на именно ваш не очень правильный вопрос, то нужно обрабатывать интерфейс в отдельном треде, между тредами поднять мьютекс и по его состояние проверять в этом цикле. Но это плохой путь.
    Ответ написан
    1 комментарий
  • Как отслеживать сообщения от пользователя вк Python 3 Vk api?

    Тебе нужно создать класс пользователя и объявить в нём 3 поля: id, name, isNameSelect и создать список объектов данного класса.
    Если человек пишет первый раз (то есть пользователя с таким id нет в списке), надо его туда добавить.
    Если человек написал 'девушку', 'парня' или 'всё равно', ты устанавливаешь этому человеку значение isNameSelect true. И потом проверяешь, если у человека isNameSelect true, то установить ему name которое он написал
    Ответ написан
    1 комментарий