Test Foro de elhacker.net SMF 2.1

Programación => Programación General => Mensaje iniciado por: Locura_23 en 7 Julio 2021, 20:02 PM

Título: Error en código Python, métodos get() y set()
Publicado por: Locura_23 en 7 Julio 2021, 20:02 PM
Hola a todos, genios alguien se da cuenta del error en este código? Creo haber copiado tal cual el código del libro, Estoy usando Python 3.6.6.
Veo que setCualificacion() en main necesita dos argumentos, pero no distingo cuales...

Código (python) [Seleccionar]


#Modificar los campos de un objeto mediante métodos privados de la clase.

class Ficha_Empleado:
    def __init__(self):
        self.nombre = None
        self.edad = None
        self.antiguedad = None
        self.__cualificacion = None

    def Sueldo(self):
        return( 1000 + self.antiguedad * 25 +  self.__cualificacion * 100)

    def setCualificacion(self,cualif: int):
        if cualif == 1 or cualif == 2 or cualif == 3 or cualif == 4 or cualif == 5:
            self.__cualificacion = cualif
    def getCualificacion(self):
        return(self.__cualificacion)

def main():

    a = Ficha_Empleado
    a.nombre = "Javier"
    a.edad = 21
    a.antiguedad = 2

    a.setCualificacion(3)

    print("El sueldo de ",a.nombre,",con ",a.antiguedad," años en la empresa y con cualificación\
          de grado ",a.getCualificacion()," es de ", a.Sueldo(), " euros." )

main()




error:

a.setCualificacion(3)
TypeError: setCualificacion() missing 1 required positional argument: 'cualif'
Título: Re: Error en código Python, métodos get() y set()
Publicado por: engel lex en 7 Julio 2021, 20:14 PM
linea 22

debe ser
a = Ficha_Empleado()

para que se inicialize la clase
Título: Re: Error en código Python, métodos get() y set()
Publicado por: Locura_23 en 7 Julio 2021, 20:20 PM
Pucha que error pavote jaja, gracias genio