How can I fix this problem in order to print playerValue as an integer value and as output? Here is the code that I've written:
class FootballPlayer:
def __init__(self,na,ag,sh,pa,ta,sa):
self.name = na
self.age = ag
self.shooting = sh
self.passing = pa
self.tackling = ta
self.saving = sa
def defenderScore(self):
return int(0.80 * self.tackling + 0.15 * self.passing + 0.05 * self.shooting)
def midfielderScore(self):
return int(0.50 * self.passing + 0.25 * self.shooting + 0.25 * self.tackling)
def forwardScore(self):
return int(0.70 * self.shooting + 0.25 * self.passing + 0.05 * self.tackling)
def goalieScore(self):
return int(0.90 * self.saving + 0.10 * self.passing)
def playerValue(self):
return int(15000 * self.defenderScore ** 2 + 25000 * self.midfielderScore ** 2
+ 20000 * self.forwardScore ** 2 + 5000 * self.goalieScore ** 2
- 30000 * (self.age - 26) ** 2)
def __str__(self):
return ("(" + str(self.name) + "," + str(self.age) + "," + str(self.playerValue) + ")")
ronaldo = FootballPlayer("Ronaldo", 36, 85, 95, 35, 5)
print(ronaldo)
Expected Output:
(Ronaldo,36,322445000)
The output I got:
(Ronaldo,36,<bound method FootballPlayer.playerValue of <__main__.FootballPlayer object at 0x7f0f4b901990>>)