Está en la página 1de 2

Ciclo 1 Fundamentos de programación

Reto 4

Descripción. En una IPS que ofrece servicios de medicina laboral, se realizan diariamente
los exámenes correspondientes a los trabajadores de diferentes empresas. La información de
los exámenes realizados diariamente se registra en una lista, que contiene sublistas con la
siguiente estructura: [identificación del paciente, (código del examen, precio), ... (código del
examen, precio)], como se muestra a continuación:

examenes_medicos = [[32777584,("EM_AUD",15000),("EM_VIS",15000),("EM_FIS",20
000), ("EL_PCOVID", 50000), ("EL_GENERAL", 35000)],
[1048069255,("EM_AUD",15000),("EM_VIS",15000),("EM_FIS",20000),("EL_
PCOVID", 50000), ("EL_GENERAL", 35000)],
[8534598,("EM_AUD",15000),("EM_VIS",15000),("EM_FIS",20000)],
[32444589,("EM_AUD",15000),("EM_VIS",15000),("EM_FIS",20000),("EL_PC
OVID", 50000), ("EL_GENERAL", 35000)]]
print(informe(examenes_medicos))

Requerimiento. Se necesita conocer la identificación del paciente y la cantidad total del


precio de los exámenes que se realizó, además del total de pruebas COVID realizadas.
Escriba una función que reciba la lista con el detalle de los exámenes realizados, y devuelva
una lista con pares de lista y la cantidad de pruebas COVID del día, con la siguiente
estructura: [[identificación del paciente, precio total]… [identificación del paciente, precio
total], cantidad pruebas COVID]. El precio total se calcula sumando el precio de cada uno de
los exámenes y las pruebas COVID, se contabilizan con el examen de laboratorio con código:
“EL_COVID”. El siguiente ejemplo resulta de la lista “examenes_medicos” descrita
anteriormente:

[[32777584, 135000], [1048069255, 135000], [8534598, 50000], [32444589, 135000], 3]


El 3, indica las pruebas realizadas en el día.

Recuerde que debe realizar el ejercicio empleando algunas de las funciones vistas como:
lambda, map, filter, reduce o zip.
Entradas
Nombre Tipo Descripción
Examens_medicos List Lista que contiene sublistas con la siguiente estructura:
[identificación del paciente, (código del examen, precio), ...
(código del examen, precio)].
Identificación del paciente: int
Código del examen: str
precio: int

Salida
Tipo Descripción
list Lista con pares de listas y cantidad de pruebas COVID, donde cada par de
listas contiene la identificación del paciente y el precio total de los exámenes
realizados, con la estructura: [[identificación del paciente, Precio total], …
[[identificación del paciente, Precio total], Cantidad pruebas COVID]
Identificación del paciente: int
Precio total: int
Cantidad dr pruebas COVID: int

Esqueleto.
def informe(examenes_medicos:list)->list:
pass

Casos públicos:
Entradas Salida
Exámenes_medicos Return
examenes_medicos=[[32777584,("EM_AUD",15000),("EM_VIS",15000),("EM_FIS",200
00),("EL_PCOVID",50000), ("EL_GENERAL", 35000)], [[32777584, 135000],
[1048069255,("EM_AUD",15000),("EM_VIS",15000),("EM_FIS",20000),("EL_PCOVID"
[1048069255, 135000],
,50000), ("EL_GENERAL", 35000)],
[8534598, 50000],
[8534598,("EM_AUD",15000),("EM_VIS",15000),("EM_FIS",20000)],
[32444589,("EM_AUD",15000),("EM_VIS",15000),("EM_FIS",20000),("EL_PCOVID",5 [32444589, 135000], 3]
0000), ("EL_GENERAL", 35000)]]
examenes_medicos =
[[22689526,("EM_AUD",15000),("EM_VIS",15000),("EM_FIS",20000),("EL_GENERAL [[22689526, 85000],
", 35000)],
[1045889636, 30000],
[1045889636,("EM_AUD",15000),("EM_VIS",15000)],
[32666554, 30000],
[32666554,("EM_AUD",15000),("EM_VIS",15000)],
[8544777,("EM_AUD",15000),("EM_VIS",15000),("EM_FIS",20000)], [8544777, 50000],
[1025888789,("EM_AUD",15000),("EM_VIS",15000),("EM_FIS",20000),("EL_GENERAL", [1025888789, 85000], 0]
35000)]]

También podría gustarte