Está en la página 1de 3

IWI-131 Programación: Tarea UVAs 8 y 9 - Diccionarios y Archivos

Los compuestos quı́micos están formados por un conjunto de elementos quı́micos de la tabla periódica de
Mendeléyev, clasificados a su vez en diferentes grupos. Estos compuestos pueden representar, por ejemplo,
/23, 4:59 PM https://upload.wikimedia.org/wikipedia/commons/4/4d/Periodic_table_l
medicamentos, herbicidas, hidrocarburos, entre otros. Para apoyar el proceso de clasificación de los elementos
quı́micos contenidos en diferentes compuestos quı́micos, se cuenta con varios archivos, cuyo formato se
Group
1
describe a continuación.
Periodic Table of the Elements
1.008 1
26 55.845 ______ masa atómica
1312.0 2.20

número atómico ______


+1

H
−1

Hydrogen
2 + 13 14

Fe
1s¹

6.94 3 9.0122 4 ______


10.81 5 12.011 6
símbolo químico
520.2 0.98 899.5 1.57 800.6 2.04 1086.5 2.55
+3

B C
+1 +2

Li Be
+2
−1 +1

______
Lithium
1s² 2s¹
Beryllium nombre Iron Boron
1s² 2s² 2p¹
Carbon
1s² 2s² 2p²
1s² 2s²

22.990
495.8 0.93
11 24.305
737.7 1.31
12 26.982
577.5 1.61
13 28.085
786.5 1.90
14
+3

Al Si
+1 +2

Na Mg
+1 +1
−1

Sodium Magnesium Aluminium Silicon


[Ne] 3s¹ [Ne] 3s² 3
El archivo "grupos.csv" 4 contiene5 los nombres
6 7 grupos 8de elementos
de los 9 10 de la11
quı́micos 12
tabla periódica, [Ne] 3s² 3p¹ [Ne] 3s² 3p²

39.098
418.8 0.82
19 40.078
589.8 1.00
20
junto con 44.956
un número
633.1
que22
21 47.867
1.36
50.942 23 51.996 24 54.938 25 55.845 26 58.933 27 58.693 28 63.546 29 65.38
indica la cantidad de elementos quı́micos dentro de cada grupo. Los campos
658.8 1.54
+4
650.9 1.63
+5
652.9 1.66
30se69.723 31
+6
717.3 1.55
+7
762.5 1.83
+6
760.4 1.91
+5
737.1 1.88
+4
745.5 1.90
+4
906.4 1.65 578.8 1.81
72.630
762.0 2.01
32
+3 +2 +3

Sc Ti V Cr Mn Fe Co Ni Cu Zn Ga Ge
+1 +2

K Ca separan por un punto y coma. Un extracto de este archivo se muestra a continuación:


+2 +3 +4 +5 +6 +5 +4 +3 +3 +2
+1 +2 +3 +4 +5 +4 +3 +2 +2 +1
+1 +2 +3 +4 +3 +2 +1 +1
−1 +1 +2 +3 +2 +1 −1
−1 +1 +2 +1 −1
Potassium Calcium Scandium Titanium Vanadium Chromium −1
−2 Manganese +1
… Iron −1
−2 Cobalt −2
Nickel Copper Zinc Gallium Germanium
[Ar] 3d¹ 4s² [Ar] 3d² 4s² [Ar] 3d³ 4s² [Ar] 3d⁵ 4s¹ [Ar] 3d⁵ 4s² −3 [Ar] 3d⁶ 4s² [Ar] 3d⁷ 4s² [Ar] 3d⁸ 4s² [Ar] 3d¹⁰ 4s¹ [Ar] 3d¹⁰ 4s² [Ar] 3d¹⁰ 4s² 4p¹ [Ar] 3d¹⁰ 4s² 4p²
[Ar] 4s¹ [Ar] 4s²

85.468 37 87.62 38 88.906


600.0 1.22
39 91.224
640.1 1.33
40 92.906
652.1 1.60
41 95.95
684.3 2.16
42 (98)
702.0 1.90
43 101.07
710.2 2.20
44 102.91
719.7 2.28
45 106.42
804.4 2.20
46 107.87
731.0 1.93
47 112.41
867.8 1.69
48 114.82
558.3 1.78
49 118.71
708.6 1.96
50
403.0 0.82 549.5 0.95 +3 +4 +5 +6 grupos.csv +7 +8 +6 +4 +3 +2 +3

Y Zr Nb Mo Tc Ru Rh Pd Ag Cd In Sn
+1 +2

Rb Sr
+2 +3 +4 +5 +6 +7 +5 +2 +2 +2
+1 +2 +3 +4 +5 +6 +4 +1 +1
+1 +2 +3 +4 +5 +3
−1 +2 +3 +4 +2
+1 +2 +3 +1
Rubidium Strontium Alkali
metals
Yttrium ;6 Zirconium Niobium Molybdenum Technetium
−1
−2
+1
−1 Ruthenium +2
+1 Rhodium −1
Palladium Silver Cadmium Indium Tin
[Kr] 4d¹ 5s² [Kr] 4d² 5s² [Kr] 4d⁴ 5s¹ [Kr] 4d⁵ 5s¹ [Kr] 4d⁵ 5s² −3 [Kr] 4d⁷ 5s¹ −2 [Kr] 4d⁸ 5s¹ [Kr] 4d¹⁰ [Kr] 4d¹⁰ 5s¹ [Kr] 4d¹⁰ 5s² [Kr] 4d¹⁰ 5s² 5p¹ [Kr] 4d¹⁰ 5s² 5p²
[Kr] 5s¹ [Kr] 5s²
Noble gases ;6
132.91 55 137.33 56 174.97 71 178.49 72 180.95 73 183.84 74 186.21 75 190.23 76 192.22 77 195.08 78 196.97 79 200.59 80 204.38 81 207.2 82
375.7 0.79 502.9 0.89 Transition
523.5 1.27 metals 658.5 ;341.30 761.0 1.50 770.0 2.36 760.0 1.90 840.0 2.20 880.0 2.20 870.0 2.28 890.1 2.54 1007.1 2.00 589.4 1.62 715.6 2.33

*
+3 +4 +5 +6 +7 +8 +6 +6 +5 +4 +3

Lu Hf Ta W Re Os Ir Pt Au Hg Tl Pb
+1 +2

Cs Ba
+3 +4 +5 +6 +7 +5 +5 +3 +2 +1
+2 +3 +4 +5 +6 +4 +4 +2 +1
Actinides ;15 +2
−1
+3
+2
+4
+3
+5
+4
+3
+2
+2 +1
−1
+1 +2 +3 +1
Caesium Barium Metalloids Lutetium;6 Hafnium Tantalum Tungsten −1
−2 Rhenium +1
−1 Osmium +2
+1 Iridium −1
−3 Platinum Gold Mercury Thallium Lead
[Xe] 4f¹⁴ 5d¹ 6s² [Xe] 4f¹⁴ 5d² 6s² [Xe] 4f¹⁴ 5d³ 6s² [Xe] 4f¹⁴ 5d⁴ 6s² [Xe] 4f¹⁴ 5d⁵ 6s² −3 [Xe] 4f¹⁴ 5d⁶ 6s² −2 [Xe] 4f¹⁴ 5d⁷ 6s² [Xe] 4f¹⁴ 5d⁹ 6s¹ [Xe] 4f¹⁴ 5d¹⁰ 6s¹ [Xe] 4f¹⁴ 5d¹⁰ 6s² [Xe] 4f¹⁴ 5d¹⁰ 6s² 6p¹ [Xe] 4f¹⁴ 5d¹⁰ 6s² 6
[Xe] 6s¹ [Xe] 6s²
Reactive non - metals
(262) 103 (261) 104
;11
(223) 87 509.3 0.90 88
(226) (262) 105 (266) 106 (264) 107 (277) 108 (268) 109 (271) 110 (272) 111 (285) 112 (284) 113 (289) 114
**
470.0 580.0
380.0 0.70 ... +3 +4 +5 +6 +7 +8

Lr Rf Db Sg Bh Hs Mt Ds Rg Cn Nh Fl
+1 +2

Fr
Francium
Ra
Radium Lawrencium Rutherfordium Dubnium Seaborgium Bohrium Hassium Meitnerium Darmstadtium Roentgenium Copernicium Nihonium Flerovium
[Rn] 7s¹ [Rn] 7s² [Rn] 5f¹⁴ 7s² 7p¹ [Rn] 5f¹⁴ 6d² 7s² [Rn] 5f¹⁴ 6d³ 7s² [Rn] 5f¹⁴ 6d⁴ 7s² [Rn] 5f¹⁴ 6d⁵ 7s² [Rn] 5f¹⁴ 6d⁶ 7s² [Rn] 5f¹⁴ 6d⁷ 7s² [Rn] 5f¹⁴ 6d⁸ 7s² [Rn] 5f¹⁴ 6d⁹ 7s² [Rn] 5f¹⁴ 6d¹⁰ 7s² [Rn] 5f¹⁴ 6d¹⁰ 7s² 7p¹ [Rn] 5f¹⁴ 6d¹⁰ 7s² 7

Cada uno de los nombres de grupo presentes en el archivo anterior cuenta con su propio archivo cuyo nombre
Electron configuration blocks tiene el formato "nombre.csv". Por ejemplo: "Alkali metals.csv". Cada uno de estos archivos contiene
los elementos quı́micos de57la tabla58periódica59que pertenecen
144.24 60 (145)
a61
138.91 140.12 140.91 150.36 62 151.96 63 157.25 64 158.93 65 162.50 66 164.93 67
538.1 1.10
+3
534.4 ese grupo,
1.12
+4 uno en cada lı́nea. Para cada
527.0 1.13
+4
533.1 1.14
+3
540.0
+3
544.5 1.17
+3
547.1
+3
593.4 1.20
+3
565.8
+4
573.0 1.22
+3
581.0 1.23

* La Ce Pr Nd Pm Sm Eu Gd Tb Dy Ho
+2 +3 +3 +2 +2 +2 +2 +3 +2
+2 +2 +1 +1
elemento se tiene la siguiente información, separada por punto y coma: sı́mbolo, nombre, número atómico,
s * d p Lanthanum Cerium Praseodymium Neodymium Promethium Samarium Europium Gadolinium Terbium Dysprosium Holmium
masa atómica y periodo. A continuación se muestran extractos de estos archivos:
[Xe] 5d¹ 6s² [Xe] 4f¹ 5d¹ 6s² [Xe] 4f³ 6s² [Xe] 4f⁴ 6s² [Xe] 4f⁵ 6s² [Xe] 4f⁶ 6s² [Xe] 4f⁷ 6s² [Xe] 4f⁷ 5d¹ 6s² [Xe] 4f⁹ 6s² [Xe] 4f¹⁰ 6s² [Xe] 4f¹¹ 6s²

* f (227) 89 232.04 90 231.04 91 238.03 92 (237) 93 (244) 94 (243) 95 (247) 96 (247) 97 (251) 98 (252) 99

**
499.0 1.10 587.0 1.30 568.0 1.50 597.6 1.38 604.5 1.36 584.7 1.28 578.0 1.30 581.0 1.30 601.0 1.30 608.0 1.30 619.0 1.30
Notes +3 +4 +5 +6 +7 +7 +6 +4 +4 +4

Ac Th Pa U Np Pu Am Cm Bk Cf Es
+3 +4 +5 +6 +6 +5 +3 +3 +3
+2 +3 +4 +5 +5 +4 +1
+3 +4 +4 +3
1 kJ/mol ≈ 0.0103636 eV +3 +3 +2

all elements are implied to have an oxidationstate of zero. Actinium Thorium Protactinium Uranium Neptunium Plutonium Americium Curium Berkelium Californium Einsteinium
[Rn] 6d¹ 7s² [Rn] 6d² 7s² [Rn] 5f² 6d¹ 7s² [Rn] 5f³ 6d¹ 7s² [Rn] 5f⁴ 6d¹ 7s² [Rn] 5f⁶ 7s² [Rn] 5f⁷ 7s² [Rn] 5f⁷ 6d¹ 7s² [Rn] 5f⁹ 7s² [Rn] 5f¹⁰ 7s² [Rn] 5f¹¹ 6s²

y Robert Campion / updated 2016, 2018

1
alkali metals alkaline earth metals lanthanides transition metals unknown properties post-transition metals metall
actinides
Alkali metals.csv Noble gases.csv
Li ; Lithium ;3;6.9410;2 He ; Helium ;2;4.0026;1
Na ; Sodium ;11;22.990;3 Ne ; Neon ;10;20.180;2
K ; Potassium ;19;39.098;4 Ar ; Argon ;18;39.948;3
... ...

Transition metals.csv Actinides.csv


Sc ; Scandium ;21;44.956;4 Ac ; Actinium ;89;227;7
Ti ; Titanium ;22;47.867;4 Th ; Thorium ;90;232.04;7
V ; Vanadium ;23;50.942;4 Pa ; Protactinium ;91;231.04;7
... ...

Por otra parte, el archivo "compuestos.csv" contiene los nombres y fórmulas moleculares de distintos
compuestos quı́micos, separados por un punto y coma. Al interior de la fórmula molecular los elementos se
separan con guiones. Un extracto de este archivo se muestra a continuación:

compuestos.csv
Glifosato ; C3 - H8 -N - O5 - P
Dicamba ; C8 - H6 - Cl2 - O3
Atrazina ; C8 - H14 - Cl - N5
Picloram ; C6 - H3 - Cl3 - N2 - O2
Pendimetalina ; C13 - H19 - N3 - O4
Paraquat ; C12 - H14 - Cl2 - N2
Metolacloro ; C15 - H22 - Cl -N - O2
Linuron ; C9 - H10 - Cl2 - N2 - O2
Paracetamol ; C8 - H9 -N - O2
Metamizol ; C13 - H16 - N3 - Na - O4 - S
...

Las fórmulas están formadas por sı́mbolos que identifican los elementos y, en algunos casos, por números
enteros que representan la cantidad de átomos presentes. Estos números, en caso de existir, pueden tener
uno o varios dı́gitos. Observe por ejemplo la fórmula molecular del compuesto Paraquat, en la que el número
12 (dos dı́gitos) aparece después del sı́mbolo C del Carbono. Por otra parte, el número 2 (un dı́gito) aparece
después del sı́mbolo N del Nitrógeno. Cuando el número de átomos de un elemento es igual a uno, el número
se omite. Observe la fórmula molecular del compuesto Glifosfato, en la que no aparece ningún número después
del sı́mbolo N del Nitrógeno.

2
Tareas

1. Escriba la función procesar_grupos(grupos), que recibe como parámetros el nombre del archivo de
grupos. La función debe retornar un diccionario cuyas llaves deben ser los sı́mbolos de los elementos quı́micos
presentes en los grupos quı́micos del archivo. Los valores serán listas que contienen el nombre del elemento,
seguido del grupo al que pertenece, su número atómico, su masa atómica y su periodo.

Ejemplo:
>>> print ( pro ce s ar _g ru p os ( ' grupos . csv '))
{ ' Li ': [ ' Lithium ' , ' Alkali metals ' , 3 , 6.941 , 2] , 'Na ': [ ' Sodium ' , ' Alkali metals ' , 11 , 22.99 , 3] , 'K ':
[ ' Potassium ' , ' Alkali metals ' , 19 , 39.098 , 4] , 'Rb ': [ ' Rubidium ' , ' Alkali metals ' , 37 , 85.468 , 5] , 'Cs ':
[ ' Caesium ' , ' Alkali metals ' , 55 , 132.91 , 6] , 'Fr ': [ ' Francium ' , ' Alkali metals ' , 87 , 223.0 , 7] , 'He ':
[ ' Helium ' , ' Noble gases ' , 2 , 4.0026 , 1] , 'Ne ': [ ' Neon ' , ' Noble gases ' , 10 , 20.18 , 2] , 'Ar ': [ ' Argon ' ,
' Noble gases ' , 18 , 39.948 , 3] , 'Kr ': [ ' Krypton ' , ' Noble gases ' , 36 , 83.798 , 4] , ...}

2. Escriba la función procesar_compuestos(grupos, compuestos), que recibe como parámetros los nom-
bres de los archivos de grupos y compuestos. La función debe retornar un diccionario cuyas llaves deben ser
los sı́mbolos de los elementos presentes en los compuestos quı́micos del archivo de compuestos. Los valores
serán listas que contienen la cantidad de veces que cada sı́mbolo quı́mico se encuentra presente en los com-
puestos quı́micos del archivo de compuestos, seguido del nombre, grupo al que pertenece, número atómico,
masa atómica y periodo referente al elemento quı́mico.

Ejemplo:
>>> print ( p r o c e s a r _ c o m p u e s t o s ( ' grupos . csv ' , ' compuestos . csv '))
{ 'C ': [18 , ' Carbon ' , ' Reactive non - metals ' , 6 , 12.011 , 2] , 'H ': [18 , ' Hydrogen ' , ' Reactive non - metals ' , 1 ,
1.0078 , 1] , 'N ': [14 , ' Nitrogen ' , ' Reactive non - metals ' , 7 , 14.007 , 2] , 'O ': [16 , ' Oxygen ' ,
' Reactive non - metals ' , 8 , 15.999 , 2] , 'P ': [1 , ' Phosphorus ' , ' Reactive non - metals ' , 15 , 30.974 , 3] , 'Cl ':
[7 , ' Chlorine ' , ' Reactive non - metals ' , 17 , 35.453 , 3] , 'Na ': [1 , ' Sodium ' , ' Alkali metals ' , 11 , 22.99 , 3] ,
S ': [4 , ' Sulfur ' , ' Reactive non - metals ' , 16 , 32.065 , 3] , F ': [1 , ' Fluorine ' , ' Reactive non - metals ' , 9 ,
18.998 , 2]}

3. Escriba un programa que procese todos los compuestos quı́micos existentes en el arhivo "compuestos.csv".
El programa debe crear un archivo, cuyo nombre debe ser "resumen.txt", que contenga los nombres de los
grupos de elementos quı́micos, la cantidad de elementos quı́micos del grupo presentes en el archivo de com-
puestos y los sı́mbolos de los elementos quı́micos separados por coma.

A continuación se muestra un ejemplo con el formato esperado para el archivo que debe generar el programa:

resumen.txt
Reactive non - metals : 8
C , H , N , O , P , Cl , S , F
Alkali metals : 1
Na

Importante: Debe utilizar únicamente material estudiado en IWI-131.

También podría gustarte