Могу ли я достать записанный в переменную экземпляр класса и использовать его как мне надо
У меня есть следующий код на Python.
import random
class Unit:
def __init__(self, name_unit, health = 100, damage = 20):
self.name_unit = name_unit
self.health = health
self.damage = damage
unit1 = Unit('Воин 1')
unit2 = Unit('Воин 2')
while unit1.health > 0 or unit2.health > 0:
attacking = f'unit{random.randint(1,2)}'
if attacking == 'unit1':
defending = 'unit2'
else:
defending = 'unit1'
defending.health = int(defending.health) - int(attacking.damage)
print(f'Атаковал {attacking.name}')
Но он работает некорректно и появляется ошибка:
line 22, in <module>
defending.health = int(defending.health) - int(attacking.damage)
AttributeError: 'str' object has no attribute 'health'
Как можно ее исправить?
Источник: Stack Overflow на русском