Свойство объекта загадочным образом меняется на 0 (Python)Python

Программы на Python
Ответить
Anonymous
 Свойство объекта загадочным образом меняется на 0 (Python)

Сообщение Anonymous »

У объекта есть свойство Poison_counter, которому я внешне присвоил значение 5.
При выполнении этого кода внутри функции:

Код: Выделить всё

print("p1 " + str(self.poison_counter))
if self.poison_counter > 0:
print("p2 " + str(self.poison_counter))
self.health -= self.poison_counter
print("p3 " + str(self.poison_counter))
p1 печатает 5.
Выполняется оператор if.
p2 печатает 5.
Свойство health не изменяется.
p3 печатает 0.
Итак, где-то между p2 и оператором, изменяющим состояние объекта, переменная меняется на 0.
Других операторов, изменяющих состояние объекта, нет. Свойство яда_counter, кроме параметра += это до 5.

Подробнее здесь: https://stackoverflow.com/questions/793 ... o-0-python
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»