намекает, что этим оператором пользовались неоднократно. В коде этого не видно.
Но, вероятно, использовали оператор try без указания конкретных exception, перехватывая любые исключения. Вот и результат.
Всегда надо перехватывать только конкретные исключения, непременно логировать эти события и, конечно, не позволять программе молчаливо зацикливаться.
Во-первых, нет принципиальной разницы, двумерный или одномерный массив. Но с одномерным чуток проще и быстрее должно быть.
Во-вторых, в любом случае придется перебрать все элементы. Но не все надо обрабатывать!
В-третьих, можно if x == 0: заменить на if not x:
Ну и главное:
Делаем маску одномерной.
Делаем одномерный массив img с нужным количеством [0, 0, 0];
затем проходим по одномерной маске с условием if x: и каждому соответствующему элементу img присваиваем [255, 255, 255]; нули присваивать не надо, пропускаем
Режем одномерный img на кусочки нужного размера (по 256 элементов).
Разбор строки и извлечение нужных элементов называется parsing. Тэг python тут ни при чем. Средств и способов парсинга много, в т.ч. на Python. Ищите в интернет.
TyGGer4ik, может. Но во-первых она будет видна только в области видимости родительской функции, а во-вторых, пока родительская не будет вызвана, то и дочерняя не может быть вызвана, и её декоратор не сработает.
Тяжело читать код, оформленный не по PEP8. Приходится дополнительно напрягаться.
Рекомендую сделать маленький прототип без всех игровых излишеств, два объекта с минимумом параметров и что вы хотите с ними сделать.
Сейчас мне не очень понятно, что значит привязать пули к мобу. Надо больше слов сказать, подробнее описать. Очень хорошо написать свой кусок кода, пусть нерабочий, но как бы он был бы рабочий в вашем представлении.
Также плохо имена из одной буквы, имена переменных с большой буквы, camel-style у переменных местами… Ухудшает читаемость.
Также между классами размещать создание их экземпляров… нехорошо.
Константы надо делать имена CAPSом и желательно вынести в отдельный класс конфиг или что-то такое.
В этой каше трудно разобраться.
Есть подозрение, что скопировали с ошибкой - выделенная функция, возможно, не должна быть с отступом, а должна быть наравне с предыдущей функцией.
Отступы в python имеют значение.
d0a0da12487b1dc8e, а еще вы работаете на компьютере, чего бы тэг «компьютер» не поставить?
Вот если бы у вас был вопрос по языку Python, тогда да. А так ваши страдания с ботом абсолютно чужды подавляющему большинству читателей тэга Python.
В действительности, если вы хотите хорошенько разобраться во всём этом, вам надо изучить все API, через которые можно взаимодействовать с Telegram, а не опираться на чьи-то возможно кривые библиотеки, не полностью или неправильно реализующие API. Иначе вам удачи не видать.
Во-первых, если у вас вопрос по телеграму, при чем тут другие тэги?
Во-вторых, из вопроса вообще ничего не понятно. Помните, вопрос - это половина ответа. Рекомендую переформулировать вопрос так, чтобы даже человек не в теме всё понял.
Но, вероятно, использовали оператор try без указания конкретных exception, перехватывая любые исключения. Вот и результат.
Всегда надо перехватывать только конкретные исключения, непременно логировать эти события и, конечно, не позволять программе молчаливо зацикливаться.