Если я правильно понимаю ваш вопрос, вы хотите отобразить процент оставшегося здоровья, а не только абсолютное число? Прямо сейчас ваш health_left_percentage
просто показывает разницу в HP. Чтобы рассчитать процент, вы можете изменить его следующим образом:
def hp_left_percentage(x,y):
# I assume, 'y' is the damage here.
vastaus = (x - y) / x
print(f'You have {vastaus:.0%} HP left!')
Таким образом, функция автоматически рассчитает процент и вернет его в правильном формате. Я предлагаю прочитать f-строки для ясного способа отображения строк с переменными так, как вы хотите.
Надеюсь, это поможет. Дайте мне знать, если я вас неправильно понял.
РЕДАКТИРОВАТЬ Если игрок получает удар два или более раз, то вы должны сохранить начальные HP в глобальной переменной и изменить функцию следующим образом:
initial_hp = 100
def hp_left_percentage(x, y):
vastaus = (x - y) / initial_hp
return vastaus
perc_left = hp_left_percentage(x, y)
print(f'You have {perc_left:.0%} HP left!')