Foro de elhacker.net

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
  1.  
  2. #Modificar los campos de un objeto mediante métodos privados de la clase.
  3.  
  4. class Ficha_Empleado:
  5.    def __init__(self):
  6.        self.nombre = None
  7.        self.edad = None
  8.        self.antiguedad = None
  9.        self.__cualificacion = None
  10.  
  11.    def Sueldo(self):
  12.        return( 1000 + self.antiguedad * 25 +  self.__cualificacion * 100)
  13.  
  14.    def setCualificacion(self,cualif: int):
  15.        if cualif == 1 or cualif == 2 or cualif == 3 or cualif == 4 or cualif == 5:
  16.            self.__cualificacion = cualif
  17.    def getCualificacion(self):
  18.        return(self.__cualificacion)
  19.  
  20. def main():
  21.  
  22.    a = Ficha_Empleado
  23.    a.nombre = "Javier"
  24.    a.edad = 21
  25.    a.antiguedad = 2
  26.  
  27.    a.setCualificacion(3)
  28.  
  29.    print("El sueldo de ",a.nombre,",con ",a.antiguedad," años en la empresa y con cualificación\
  30.          de grado ",a.getCualificacion()," es de ", a.Sueldo(), " euros." )
  31.  
  32. main()
  33.  
  34.  


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
Código:
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