Я создал героя(villain) и злодея(heroe) и хотел, чтобы пользователь сам вводил количество хп и урон героя и злодея, и если хп и урон превышал 10000 или был меньше или равно нулю, то программа этого не давала сделать. Но ей почему-то всё равно,
она даёт ввести число меньше нуля, как-будто просто не видит свойство. Помогите пожалуйста я устал бороться и искать ошибку в своей программе.
class Heroes(object):
def __init__(self):
self.__hp = int(input('Введите количество здоровья героя: '))
self.__damage = int(input('Введите количество урона героя: '))
@property
def hp(self):
return self.__hp
@hp.setter
def hp(self, new_hp):
if new_hp > 10000:
print('Здоровье не может быть больше 10000')
elif new_hp <= 0:
print('Здоровье не может быть меньше или равно нулю')
else:
self.__hp = new_hp
print('s')
@property
def damage(self):
return self.__damage
@damage.setter
def damage(self, new_damage):
if new_damage > 10000:
print('Урон не может быть больше 10000')
elif new_damage <= 0:
print('Урон не может быть меньше или равно нулю')
else:
self.__damage = new_damage
print('t')
class Villains(Heroes):
def __init__(self):
self.__hp = int(input('Введите количество здоровья злодея: '))
self.__damage = int(input('Введите количество урона злодея: '))
heroe = Heroes()
villain = Villains()