Está en la página 1de 2

 

Ciclo 1 Fundamentos de programación

Reto 3

Descripción del problema:


Para una empresa, se desea desarrolla un algoritmo donde se ingresa como datos el nombre,
número de cedula, sueldo, novedad, la cuales son las siguiente:
 Novedad uno Horas extras: 10000
 Novedad dos, Recargos nocturnos: 30000
 Novedad tres, Dominical o festivo: 40000

Además de las siguientes características:


 Asignar los sueldos, según el tipo de contrato, Contrato Especial 3000000, Medio Tiempo
908526, Tiempo completo 1817052
 Para los sueldos cuyo valor sea igual o menor a dos salarios mínimos y añadir el
subsidio de transporte, el cual es 106454
 Para los sueldos cuyo valor sean mayores o iguales a 3000000 y aplicar 3% de
retención en la fuente, el cual debe ser un número entero.
 Cambiar el nombre en minúsculas
 Listar los sueldos con dichas características, mostrando el diccionario con toda la
información final.
 En caso de entrar elementos erróneos, en el tipo del contrato, genera un mensaje como
es siguiente: Por favor revisar los datos de entrada.

Elementos de entrada
Variable Tipo Descripción
Nombre Str Carácter
Cedula Int Número de identificación
Contrato Str Tipo de contrato, Contrato Especial, Medio Tiempo,
Tiempo Completo
Novedad int Numero entre 1 - 3

 
 

Elementos de Salida
Variable Tipo Descripción
Nombre Str Carácter, en minúscula
Cedula Int Número de identificación
Contrato Str Tipo de contrato, Contrato Especial, Medio Tiempo, Tiempo
completo
Novedad int Número entre 1 - 3
Cantidad Novedad int Número, 10000, 30000, 40000
Sueldo int Número 3000000, 1817052 o 908526
Pagos float Número valor del 3% de su sueldo

Ejemplo:
Diccionario de entrada Diccionario de Salida
{'Nombre':'LUIS', 'Cedula':'1030101', {'Nombre': 'luis', 'Cedula': '1030101',
'Contrato':'Contrato Especial', 'Novedad':2} 'Contrato': 'Contrato Especial', 'Novedad': 2,
'cantidad Novedad': 300000, 'Sueldo':
1923506, 'Pagos': 0}
{'Nombre':'EsteBAN', 'Cedula':'7895412', Por favor revisar los datos de entrada.
'Contrato':'Contrato especial', 'Novedad':4}

Esqueleto:
def nomina(Datos:dict)‐> dict: 
 
    return  
 
#elementos auxiliares 
 
def tipo_contrato(Datos): #Evalúa el tipo de contrato 
    return  
 
def TipoS(Datos): #Evalúa el tipo de sueldo 
    return  
 
def Novedades(e:dict): #Evalúa Las novedades 
    return  
 
def c_min (Datos): #Convierte en minúsculas el nombre 
    return  
 

También podría gustarte