• Как передать переменную из функции python vk_api?

    @Cappietrol
    Если я правильно понял то ты подписываешься и в открытом соединение ждет события (longpoll), при совпадении условий отправляешь сообщения и вызываешь функцию `parser` в которой и получаешь список продуктов разбивая строку на список используя разделитель запятую.
    Первое - насколько я вижу функция `parser` находится в каком-то классе а ты ее вызываешь не как метод класса. Второе - Внутри этой функции ты подключаешься к longpoll и ждешь события, так же как и до ее вызова. Теоретически этот цикл может быть вечным, пока ты не закроешь соединение и цикл будет отрабатывать каждый раз когда будет приходить событие. Это ответ почему функция работает вечно.
    Но все равно не понимаю каким образом функция parser таки запускается, хотя не должна.
    А для хранения значений нужно полученный список объектов из события внести в атрибут класса а не локальную переменную или сделать костыль и заносить в глобальную переменную, который будет являться словарем а ключем в нем будет получатель к примеру (тут зависит от логики).
    По хорошему надо обработку события с сообщением с продуктами вывести в общий цикл обработки. Но есть костыль - в конце функции поставить break или return, тем самым остановив цикл.
    Я крайне не рекомендую использоваться костылями. Из представленного куска кода, сложновато понять все и сделать правильные выводы. Если я не прав поправь меня, постараюсь помочь
  • Как убрать буквы из списка, сложить числа Python?

    @Cappietrol
    Отличный ответ! Но немного дополню, вместо среза n[:2]
    Можно использовать метод строки replace. Заменив указанную подстроку на пустую строку И получится примерно так
    sum(int(n.replace('р.', '')) for n in arr)
    Не до конца понятно нужен ли промежуточный вариант. Если да то сначала используем list comprehension для создания списка с интами а после сделаем сумму всех элементов
    new_arr = [int(n.replace('р.', '')) for n in arr]
  • Ошибка TelegramBOT. Что не так?

    @Cappietrol
    SoreMix, это не баг питона. С большей вероятность это либо смешение табов и пробелов либо не правильное использование одного или другого. Тут надо глянуть в чем писалось (какая ide, текстовый редактор или консоль)