when I run this code I get an error message "AttributeError: 'Acrobat' object has no attribute 'Stagename'" This is an exam question and the code has been provided as an example answer.
I am not sure why it does not work or where my error is?
def __init__(self, Firstname, Lastname, Stagename, SecondaryRole, Type):
self.__FirstName = Firstname
self.__LastName = Lastname
self.__StageName = Stagename
self.__SecondaryRole = SecondaryRole
self.__PerfType = Type
def EditSecondaryRole(self, NewRole):
self.SecondaryRole = NewRole
def EditStageName(self, NewStageName):
self.StageName = NewStageName
class Acrobat(Performer):
def __init__(self,Firstname, Lastname, Stagename, SecondaryRole, Fire):
Performer.__init__(self, Firstname, Lastname, Stagename, SecondaryRole, "Acrobat")
self.__UseFire = Fire
def PerformerInfo(self):
ReturnString = "%s (real name %s %s) is %s. " % (self. Stagename, self.Firstname,self. Lastname, Acrobat.PerfType)
if(self.__UseFire):
ReturnString = ReturnString + "Fire is part of %s's act. " % (self.Stagename)
else:
ReturnString = ReturnString + "Fire is not part of %s's act. " %(self.Stagename)
ReturnString = ReturnString + "When not performing, %s is a %s" % (self.Stagename, self.SecondaryRole)
return ReturnString
Acrobat1 = Acrobat("Alex","Tan","Amazing Alex","Popcorn Seller",True)
print(Acrobat1.PerformerInfo())
Thanks for the help - this works but Im still not sure how to answer the question with private methods
def __init__(self, Firstname, Lastname, Stagename, Secondaryrole, Type):
self.Firstname = Firstname
self.Lastname = Lastname
self.Stagename = Stagename
self.Secondaryrole = Secondaryrole
self.PerfType = Type
def EditSecondaryRole(self, NewRole):
self.Secondaryrole = NewRole
def EditStageName(self, NewStageName):
self.Stagename = NewStageName
class Acrobat(Performer):
def __init__(self,Firstname, Lastname, Stagename, Secondaryrole, Fire):
Performer.__init__(self, Firstname, Lastname, Stagename, Secondaryrole, "Acrobat")
self.__UseFire = Fire
def PerformerInfo(self):
ReturnString = "%s (real name %s %s) is %s. " % (self.Stagename, self.Firstname,self. Lastname, "Acrobat")
if(self.__UseFire):
ReturnString = ReturnString + "Fire is part of %s's act. " % (self.Stagename)
else:
ReturnString = ReturnString + "Fire is not part of %s's act. " %(self.Stagename)
ReturnString = ReturnString + "When not performing, %s is a %s" % (self.Stagename, self.Secondaryrole)
return ReturnString
Performer1 = Performer("Paul","Smith","Smithy","Greeter","Clown")
Acrobat1 = Acrobat("Alex","Tan","Amazing Alex","Popcorn Seller",False)
print(Acrobat1.PerformerInfo())
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.