Возможно, тип данных, который вы храните в «data», является строкой.Чтобы подтвердить это, вы можете сделать
print(type(num))
, если он печатает 'str', то вы сохраняете свои данные в переменной 'data' в виде строки.
Для этого есть 2 исправления: 1Вы можете просто хранить целые числа в данных.2. Если вы не можете ничего сделать с тем, как вы получаете данные, то вы можете привести их к целому числу и затем выполнить проверку.
Предполагая, что вы новый программист, для будущих ссылок, такого родаошибки называются ошибками типа или ошибками приведения.Это означает, что тип данных ваших операндов не совместим с оператором.В этом случае '> =' ожидает, что тип данных обоих его операндов 'num' и 0 будет одного и того же типа данных.
С другой стороны, похоже, что вы пытаетесь обновить элементывашего списка.Но то, как вы сейчас просматриваете список, вы не сможете обновить элементы.Если вы закончили печатать список в конце цикла for, вы заметите, что r не изменилась вообще.Вот хороший вопрос для работы со стеками Как изменить записи списка во время цикла for?
Чтобы исправить это, следуйте приведенному ниже примеру.
for idx, num in enumerate(r):
if int(num) >= 0:
r[idx] = '1' # Note that you will be storing a string again
else:
r[idx] = '0'
Надеюсь, что это работаетиз!Ура!