Stack Overflow en español Asked by Carlos Posdas on November 18, 2021
Cuando trato de tomar el valor de la herencia de "year" al querer mostrarlo con una nueva función no me toma el argumento correcto.
La superclase es
""""
class coche():
def __init__(self, nombre, tipo, year ):
self.nombre= nombre
self.tipo=tipo
self.year=year
def __str__(self):
print ("%s es un coche de tipo %s del año %s n" % (self.nombre, self.tipo, self.year))
ibiza19= coche("Ibiza","Comercial","2019")
"""
El resultado del str es : Ibiza es un coche de tipo Comercial del año 2019
Sin embargo el momento de heredar a una subclase el argumento de nombre si lo toma correctamente pero el argumento "year" no
"""
class decompeticion(coche):
def __init__(self,nombre, year, tipo_competicion, escuderia):
coche.__init__(self, nombre, year, "decompeticion")
self.tipo_competicion=tipo_competicion
self.escuderia=escuderia
def show_competencia(self):
if self.tipo_competicion == "F1":
print ("%s es un coche de competicion del año %s " % (self.nombre, self.year))
print("Compite en la %s donde son monoplazas, pertenece a la esuderia %s n" % (self.tipo_competicion, self.escuderia))
z1round= decompeticion("Z1round",2011,"F1","Mclaren")
"""
El resultado es el siguiente: Z1round es un coche de competicion del año decompeticion
Compite en la F1 donde son monoplazas, pertenece a la esuderia Maclaren
Gracias.
Tu superclase coche tiene el constructor con parámetros (nombre, tipo, year).
Y donde pasas valores al constructor de coche está mal el orden de los parámetros -> (self, nombre, year, "decompeticion") y por tal razón, imprime "decompeticion" en lugar del año.
Lo correcto sería (self, nombre, "decompeticion", year)
class decompeticion(coche):
def __init__(self,nombre, year, tipo_competicion, escuderia):
coche.__init__(self, nombre, "decompeticion", year)
self.tipo_competicion=tipo_competicion
self.escuderia=escuderia
Answered by Darwin on November 18, 2021
Get help from others!
Recent Questions
Recent Answers
© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP