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...
#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'
linea 22
debe ser
a = Ficha_Empleado()
para que se inicialize la clase
Pucha que error pavote jaja, gracias genio