Oui damage est une fonction et non une méthode de la classe champion.
Si vous ne comprenez pas les termes, oubliez ce que vous faîtes et commencez par les bases, beaucoup de débutants veulent aller trop vite dans l'apprentissage et je préfère prévenir avant que vous me demandiez de faire le travail à votre place.
Celui qui trouve sans chercher est celui qui a longtemps cherché sans trouver.(Bachelard) La connaissance s'acquiert par l'expérience, tout le reste n'est que de l'information.(Einstein)
champion2.damage(10)
AttributeError: 'champion' object has no attribute 'damage'
Très probablement que vous avez oublié d'indenter. Une fonction (pas une méthode) dont le premier paramètre est self est très rare et ne se rencontre pas dans du code de débutant. Donc je suppose que vous avez voulu écrire :
class champion:
def __init__(self, pseudo, health, attack):
self.pseudo = pseudo
self.health = health
self.attack = attack
print(pseudo, " a rejoint la faile de l'invocateur, il dispose de ", health, "points de vie pour ", attack,
"points d'attaque")
def get_pseudo(self):
return self.pseudo
def get_health(self):
return self.health
def get_attack(self):
return self.attack
def damage(self, damage):
self.health =- damage
print("Vous venez de subir ", damage, " points de dégats ! ")
champion1 = champion("Kog'Maw", 30, 60)
champion2 = champion("Darius",100,20)
champion2.damage(10)
print("Il vous reste ", champion2.get_health(), "points de vie")
Kog'Maw a rejoint la faile de l'invocateur, il dispose de 30 points de vie pour 60 points d'attaque
Darius a rejoint la faile de l'invocateur, il dispose de 100 points de vie pour 20 points d'attaque
Vous venez de subir 10 points de dégats !
Il vous reste -10 points de vie
- Edité par PascalOrtiz 24 novembre 2019 à 23:38:21
Très probablement que vous avez oublié d'indenter.
Une erreur de copier coller, oui
Celui qui trouve sans chercher est celui qui a longtemps cherché sans trouver.(Bachelard) La connaissance s'acquiert par l'expérience, tout le reste n'est que de l'information.(Einstein)
Alors mille merci pour vos réponses en effet je suivais le cours du youtuber Graven et il est vrai que je j'ai mal saisi les notions de méthodes et de paramètres self, je vous remercie beaucoup ! Pourriez vous cependant peut- être m'expliquer mon erreur ? j'ai mal compris votre phrase quand vous disiez : Très probablement que vous avez oublié d'indenter
L'indentation c'est le décalage des lignes de code par rapport à la gauche.
Blond, bouclé, toujours le sourire aux lèvres...
Incompréhension concernant les objets
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
Celui qui trouve sans chercher est celui qui a longtemps cherché sans trouver.(Bachelard)
La connaissance s'acquiert par l'expérience, tout le reste n'est que de l'information.(Einstein)
Découverte Python Doc Tkinter Les chaînes de caractères
Celui qui trouve sans chercher est celui qui a longtemps cherché sans trouver.(Bachelard)
La connaissance s'acquiert par l'expérience, tout le reste n'est que de l'information.(Einstein)
Blond, bouclé, toujours le sourire aux lèvres...