Я новичок в «python» и тестировал классы и объекты.
Чтобы понять классы, я опробовал небольшой код.
Этот код в основном создает Hero
с health
(я дал 100). Есть три атаки с повреждением. Код запрашивает ввод «Как вы будете атаковать?» от игрока. для атак, указанных в словаре att
, программа должна вернуть новый health
игрока, который является первоначальным здоровьем, вычитаемым из-за атаки.классы и наследование в python
Моя проблема в том, что я не могу понять, как вернуть новый health
игрока после ввода ввода от пользователя. Ошибка, которую я получаю, выглядит следующим образом:
AttributeError: 'Input' object has no attribute 'health'.
, пожалуйста, кто-нибудь может помочь мне с синтаксисом.
class Hero(object):
def __init__(self,name):
self.name=name
def stats(self,health):
self.health=health
def attack(self,kick,punch,kamehameha):
self.punch=punch
self.kick=kick
self.kamehameha=kamehameha
att={"kick":20,"punch":10,"kamehameha":50}
#taking input from the player
class Input(Hero):
def __init__(self,a):
a=raw_input("how will you attack?:")
self.a=a
def new(self):
for a in att[key]:
return self.health - att[key]
#create a player
player1=Hero("goku")
player1.stats(100)
print player1.name
print player1.health
x=Input(att)
print x.new()