7.6. Parsing#
Parsing es el proceso de tomar una entrada estructurada o semiestructurada (como texto, comandos, o datos en bruto), analizar su contenido de acuerdo con reglas sintácticas o semánticas definidas, y transformarlo en una estructura de datos interna que pueda ser utilizada para generar un resultado o ejecutar una acción.
Tu objetivo es tomar una serie de cadenas de texto y procesarlas.
7.6.1. Ejercicio#
En un laboratorio tienen una lista de sujetos, cada sujeto está representado por una cadena de texto identificadora.
La cadena de texto está generada tomando, el sexo del sujeto M
para mujeres y H
para hombres, cuatro números aleatorios, luego el año de nacimiento del sujeto y finalmente el número de registro en la serie (dos dígitos).
"{sexo}{aleatorio}{año}{registro}"
# No muevas esta celda
sujetos = ['M5341196584', 'M2196201879', 'M1444199229', 'M6692197233', 'M3261199136',
'F3028195193', 'F8169196145', 'M7968198621', 'F6740201848', 'M9139200943',
'F9504198527', 'M5259201396', 'F1293199407', 'F9554202553', 'F6876194931',
'M4336198811', 'M0273202590', 'F1146200787', 'F7886201415', 'F0110194538',
'M1519195784', 'F2850196003', 'F2585196436', 'M4103200618', 'M4064197506',
'F0546200207', 'M3384202277', 'M1957195730', 'M6658197000', 'M7492194217',
'F9986194275', 'M9742197754', 'F5197195293', 'M7619200983', 'M8306195225',
'F8876195552', 'M3332196743', 'F6380201396', 'F3149199496', 'F5364198370',
'M8904196854', 'F2448201523', 'M1117197745', 'F0841199275', 'F4688194612',
'F5541196426', 'M4400196698', 'F5494200336', 'F1092197180', 'M8573198792',
'F1122198211', 'M1930199112', 'F6296200284', 'F5046201524', 'F2508202446',
'M4471194443', 'M8723194088', 'M8100202571', 'M3868201594', 'M2754201940',
'F6760198279', 'M2699197500', 'M6960195747', 'M2457202471', 'M2499194970',
'M4155196383', 'F8196194544', 'F7703198631', 'F8228201519', 'F9350198331',
'F3393195898', 'F0094196460', 'F6865199102', 'M8251195713', 'F5580200004',
'F0743199641', 'F0883199750', 'F4287194946', 'F1520198499', 'M6680196154',
'F0864195521', 'M7185201631', 'F8590195894', 'F0522196828', 'F5408197375',
'M9086195567', 'M0522198986', 'F3240201279', 'F8820202377', 'F8100199484',
'M2472198238', 'F0119201573', 'F1536202166', 'F5538202110', 'F4398194084',
'F6844194069', 'F7686195984', 'F8565197200', 'F2684202488', 'M4214199421']
print(sujetos)
['M5341196584', 'M2196201879', 'M1444199229', 'M6692197233', 'M3261199136', 'F3028195193', 'F8169196145', 'M7968198621', 'F6740201848', 'M9139200943', 'F9504198527', 'M5259201396', 'F1293199407', 'F9554202553', 'F6876194931', 'M4336198811', 'M0273202590', 'F1146200787', 'F7886201415', 'F0110194538', 'M1519195784', 'F2850196003', 'F2585196436', 'M4103200618', 'M4064197506', 'F0546200207', 'M3384202277', 'M1957195730', 'M6658197000', 'M7492194217', 'F9986194275', 'M9742197754', 'F5197195293', 'M7619200983', 'M8306195225', 'F8876195552', 'M3332196743', 'F6380201396', 'F3149199496', 'F5364198370', 'M8904196854', 'F2448201523', 'M1117197745', 'F0841199275', 'F4688194612', 'F5541196426', 'M4400196698', 'F5494200336', 'F1092197180', 'M8573198792', 'F1122198211', 'M1930199112', 'F6296200284', 'F5046201524', 'F2508202446', 'M4471194443', 'M8723194088', 'M8100202571', 'M3868201594', 'M2754201940', 'F6760198279', 'M2699197500', 'M6960195747', 'M2457202471', 'M2499194970', 'M4155196383', 'F8196194544', 'F7703198631', 'F8228201519', 'F9350198331', 'F3393195898', 'F0094196460', 'F6865199102', 'M8251195713', 'F5580200004', 'F0743199641', 'F0883199750', 'F4287194946', 'F1520198499', 'M6680196154', 'F0864195521', 'M7185201631', 'F8590195894', 'F0522196828', 'F5408197375', 'M9086195567', 'M0522198986', 'F3240201279', 'F8820202377', 'F8100199484', 'M2472198238', 'F0119201573', 'F1536202166', 'F5538202110', 'F4398194084', 'F6844194069', 'F7686195984', 'F8565197200', 'F2684202488', 'M4214199421']
Por ejemplo, el primer sujeto tiene una id: "M5341196584"
, lo que indica que es un hombre cuyo año de nacimiento es 1965
.
Tu objetivo es reportar el número de sujetos del sexo femenino, que nacieron a partir de 2007
(es decir mayor o igual a 2007).
Solo debes reportar el número entero.
Truco
Es posible convertir un número codificado en una cadena de texto con int
, de la siguiente forma:
en_texto = '10'
en_entero = int(en_texto)
print('Escribe tu código aquí')
Escribe tu código aquí