Parsing

Contenido

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í