Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commitfe22fd7

Browse files
Add files via upload
Ejemplos y ejercicios del capítulo 3.
1 parent21f560d commitfe22fd7

13 files changed

+530
-0
lines changed

‎Cap3/Ejemplo 3_1.py

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
# -*- coding: utf-8 -*-
2+
"""
3+
@author: guardati
4+
Ejemplo 3_1
5+
Construcción de diccionarios.
6+
"""
7+
8+
# La clave es una cadena.
9+
num_meses= {'enero':1,'febrero':2,'marzo':3,'abril':4,'mayo':5,'junio':6}
10+
print('\n',num_meses)
11+
# La clave es un entero.
12+
nom_meses= {1:'enero',2:'febrero',3:'marzo',4:'abril',5:'mayo',6:'junio'}
13+
print(nom_meses)
14+
# Genera un diccionario con las claves tomadas de la lista y el valor 5.
15+
puntaje= {}.fromkeys(['futbol','basquetbol','tenis','natación'],5)
16+
print(puntaje)
17+
frutas= {'manzana':34,'pera':45}
18+
print('\nEl tipo es:',type(frutas))# Imprime <class 'dict'>
19+
20+
# Uso del constructor dict para construir diccionarios.
21+
# Por medio de una lista de tuplas.
22+
dic1=dict([('La Paz',13), ('Lima',27), ('Caracas',30), ('Montevideo',23)])
23+
print('\nCon lista de tuplas:',dic1)
24+
# Por medio de una lista por comprensión.
25+
dpares=dict([(n,n**3)forninrange(1,5)])
26+
print('Con lista por comprensión:',dpares)
27+
# Usando parámetros de palabras claves.
28+
dic2=dict(juan=56287041,irene=98741245)
29+
print('Con parámetros de palabras claves:',dic2)
30+
# Por medio de un diccionario.
31+
dic3=dict({'irene':98741245,'juan':56287041})
32+
print('Con un diccionario:',dic3)

‎Cap3/Ejemplo 3_10.py

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
# -*- coding: utf-8 -*-
2+
"""
3+
@author: guardati
4+
Ejemplo 3_10
5+
Diccionarios y conjuntos.
6+
"""
7+
8+
# Se crean 4 diccionarios.
9+
menu1= {'ensalada':35,'sopa':28,'pollo':40,'fruta':15}
10+
menu2= {'ensalada':35,'pollo':40,'gelatina':20}
11+
menu3= {'ensalada':35,'sopa':28,'ternera':50,'pastel':30}
12+
menu4= {'ensalada':35,'sopa':28,'cerdo':45,'pastel':30}
13+
14+
# Vistas de claves (tratadas como conjuntos) de 3 diccionarios.
15+
claves1=menu1.keys()
16+
claves2=menu2.keys()
17+
claves3=menu3.keys()
18+
claves4=set(menu4)# Se crea un conjunto a partir de un diccionario.
19+
20+
# Todos los platillos que se sirven: unión de conjuntos.
21+
platillos=claves1|claves2|claves3|claves4
22+
print('\nLos platillos que se sirven son:',platillos)
23+
# Platillo que se repite en todos los menús: intersección de conjuntos.
24+
lo_comun=claves1&claves2&claves3&claves4
25+
print('\nEn todos los menús se sirve:',lo_comun)
26+
27+
# Vistas de ítems (tratadas como conjuntos) de 2 diccionarios.
28+
pla_pre1=menu1.items()
29+
pla_pre2=menu2.items()
30+
31+
# Platillo y precio que está en el menú1 pero no en el menú2:
32+
# diferencia de conjuntos.
33+
no_estan=pla_pre1-pla_pre2
34+
print('\nLos platillos que se sirven en el menú1 y no en el menú2:',no_estan)
35+

‎Cap3/Ejemplo 3_11.py

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
# -*- coding: utf-8 -*-
2+
"""
3+
@author: guardati
4+
Ejemplo 3_11
5+
Diccionarios y la función enumerate.
6+
"""
7+
8+
# Se crea un diccionario con los meses del primer semestre del año y los
9+
# números que los identifican.
10+
primer_semestre= ['enero','febrero','marzo','abril','mayo','junio']
11+
mapeo= {}
12+
fori,elementoinenumerate(primer_semestre,1):# Se enumera a partir del 1.
13+
mapeo[elemento]=i
14+
print('\nMeses-número:\n',mapeo)
15+
16+
# Se crea un diccionario con las letras del abecedario y los valores decimales
17+
# que les corresponden según el código ASCII.
18+
abecedario='abcdefghijklmnopqrstuvwxyz'# Se omite la ñ.
19+
letras= {}
20+
fori,elementoinenumerate(abecedario,97):# Se enumera a partir del 97.
21+
letras[elemento]=i
22+
print('\nLetras-código ASCII:\n',letras)

‎Cap3/Ejemplo 3_2.py

Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
# -*- coding: utf-8 -*-
2+
"""
3+
@author: guardati
4+
Ejemplo 3_2
5+
Algunas operaciones con diccionarios.
6+
"""
7+
nom_meses= {1:'enero',2:'febrero',3:'marzo',4:'abril',5:'mayo',6:'junio'}
8+
puntaje= {}.fromkeys(['futbol','basquetbol','tenis','natación'],5)
9+
frutas= {'manzana':34,'pera':45}
10+
11+
# Agrega un nuevo par clave: valor
12+
frutas['cereza']=90
13+
print('\nLuego de agregar cereza: 90 -->',frutas)
14+
# Modifica el valor correspondiente a la clave.
15+
frutas['manzana']=37# Como la clave ya está, asigna este valor.
16+
print('Luego de modificar el valor de manzana -->',frutas)
17+
# Agrega los ítems de un diccionario a otro.
18+
nuevo= {}
19+
nuevo.update(puntaje)
20+
print('\nUsando update-1:',nuevo)
21+
nuevo.update(frutas)
22+
print('\nUsando update-2:',nuevo)
23+
frutas['guayaba']=32
24+
nuevo.update(frutas)
25+
print('\nUsando update-3:',nuevo)
26+
27+
# Acceso y modificación a un elemento por medio de su clave.
28+
print('\nEl valor de pera es:',frutas['pera'])
29+
frutas['cereza']+=10# Le suma 10 al valor actual.
30+
# frutas['mango'] += 5 # Da KeyError: 'mango'
31+
# Consulta el valor, dada una clave.
32+
print('El valor de cereza:',frutas.get('cereza'))# Regresa el valor.
33+
print('El valor de banana:',frutas.get('banana'))# Regresa None.
34+
35+
# Elimina el par correspondiente a la clave dada.
36+
delfrutas['pera']
37+
print('\nLuego de quitar pera: 45 -->',frutas)
38+
# del d['higo'] # Da KeyError: 'higo'
39+
elem=nom_meses.pop(1)# Quita el elemento y regresa solo su valor.
40+
print(f'Luego de quitar{elem} -->',nom_meses)
41+
# Quita arbitrariamente un elemento y lo regresa.
42+
elem=nom_meses.popitem()
43+
print(f'Luego de quitar{elem} -->',nom_meses)
44+
nom_meses.clear()# Vacía el diccionario.
45+
print(f'Luego de quitar todos los elementos -->',nom_meses)
46+
47+
# Uso del operador de membresía: in. Es solo para claves.
48+
if'cereza'infrutas:
49+
print('\nSí está cereza en el diccionario.')# Imprime.
50+
else:
51+
print('No está cereza en el diccionario.')
52+
if'uva'notinfrutas:
53+
print('No está uva en el diccionario.')# Imprime.
54+
else:
55+
print('Sí está uva en el diccionario.')
56+
if100infrutas:# Membresía de un valor.
57+
print('Sí está el 100 en el diccionario.')
58+
else:
59+
print('No está el 100 en el diccionario.')# Imprime.

‎Cap3/Ejemplo 3_3.py

Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
# -*- coding: utf-8 -*-
2+
"""
3+
@author: guardati
4+
Ejemplo 3_3
5+
Diccionarios: aplicación de funciones predefinidas y operadores.
6+
"""
7+
# Se importa el módulo operator para poder ordenar por valor.
8+
importoperator
9+
10+
num_meses= {'ene':1,'feb':2,'mar':3,'abr':4,'may':5,'jun':6}
11+
nom_meses= {1:'enero',2:'febrero',3:'marzo',4:'abril',5:'mayo',6:'junio'}
12+
d1= {1:'azul',2:'rojo',3:'verde'}
13+
d2= {}
14+
d3= {2:'rojo',1:'azul',3:'verde'}
15+
d4= {0:'amarillo',1:'azul',2:'rojo',3:'verde'}
16+
17+
# Regresa el total de elementos del diccionario.
18+
print('\nTotal de elementos del diccionario:',len(num_meses))
19+
20+
# Evalúa si todas las claves son True.
21+
print('\nCP1: Resultado de "all" con d1 -->',all(d1))
22+
print('CP2: Resultado de "all" con d4 -->',all(d4))
23+
print('CP3: Resultado de "all" con diccionario vacío -->',all(d2))
24+
# Evalúa si alguna clave es True.
25+
print('\nCP1: Resultado de "any" con d1 -->',any(d1))
26+
print('CP2: Resultado de "any" con diccionario vacío -->',any(d2))
27+
28+
# Regresa una lista de claves ordenadas de mayor a menor.
29+
ordenado=sorted(num_meses,reverse=True)
30+
print('\nClaves ordenadas:',ordenado)
31+
menu= {'helado':25,'tarta':43,'galleta':12,'merengue':18}
32+
# Genera un diccionario ordenado por valor.
33+
menu_ord=dict(sorted(menu.items(),key=operator.itemgetter(1)))
34+
print('Menú ordenado por precio:',menu_ord)
35+
36+
# Compara los elementos de dos diccionarios. No importa el orden.
37+
ifnum_meses==nom_meses:
38+
print('\nSí son iguales.')
39+
else:
40+
print('\nNo son iguales.')# Imprime.
41+
ifd1==d3:
42+
print('Sí son iguales.')# Imprime.
43+
else:
44+
print('No son iguales.')
45+
ifd1!=d2:
46+
print('Sí son diferentes.')# Imprime.
47+
else:
48+
print('No son diferentes.')
49+
50+

‎Cap3/Ejemplo 3_4.py

Lines changed: 92 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,92 @@
1+
# -*- coding: utf-8 -*-
2+
"""
3+
@author: guardati
4+
Ejemplo 3_4
5+
Recorrido de los elementos de un diccionario.
6+
Métodos: keys(), values(), items().
7+
Diccionarios y listas.
8+
"""
9+
10+
num_meses= {'ene':1,'feb':2,'mar':3,'abr':4,'may':5,'jun':6}
11+
menu= {'helado':25,'tarta':43,'galleta':12,'merengue':18}
12+
13+
# Recorrido de diccionarios usando el ciclo for.
14+
formesinnum_meses:
15+
print(mes,' ',end='')
16+
suma=0
17+
forpostreinmenu:
18+
suma+=menu[postre]
19+
print('\nSuma de los precios de los postres: $',suma)
20+
21+
# Métodos: keys(), values(), items().
22+
claves=menu.keys()
23+
print('\nTipo de keys():',type(claves))
24+
print('Claves 1-:',claves)
25+
menu['gelatina']=24# Agrega un ítem al diccionario.
26+
print('Claves 2-:',claves)# Modificado por la inserción de arriba.
27+
28+
valores=menu.values()
29+
print('\nTipo de values():',type(valores))
30+
print('Valores 1-',valores)
31+
menu['galleta']=16# Modifica el valor.
32+
print('Valores 2-',valores)# Modificado por la actualización de arriba.
33+
34+
items=num_meses.items()
35+
print('\nTipo de items():',type(items))
36+
print('Items 1-',items)
37+
delnum_meses['mar']# Borra el ítem.
38+
print('Items 2-',items)# Modificado por la eliminación de arriba.
39+
40+
# Regresa el total de elementos de la vista.
41+
print('\nTotal de claves:',len(claves))
42+
print('Total de ítems:',len(items))
43+
44+
# Ordena los elementos de la vista de acuerdo con la clave.
45+
menu_ordenado=sorted(menu.items())# Genera lista de tuplas.
46+
print('\nMenú ordenado:',menu_ordenado)
47+
# Otra manera de ordenar, usando el constructor dict.
48+
meses_ordenados=dict(sorted(num_meses.items()))# Genera diccionario.
49+
print('Meses ordenados:',meses_ordenados)
50+
51+
# Uso del operador de membresía en las vistas.
52+
if'galleta'inclaves:# Valor posible de clave.
53+
print('\nSí hay galletas.')
54+
else:
55+
print('\nNo hay galletas.')
56+
if ('alfajor',31)initems:# Valor posible de ítem.
57+
print('Sí hay alfajores a $31.')
58+
else:
59+
print('No hay alfajores a $31.')
60+
if ('gelatina',31)initems:# Valor posible de ítem.
61+
print('Sí hay gelatinas a $31.')
62+
else:
63+
print('No hay gelatinas a $31.')
64+
65+
# Iteración usando clave y valor de cada ítem.
66+
print()
67+
formes,numinitems:
68+
print(f'El mes{mes} es el{num} del año.')
69+
suma_precios=0
70+
forprecioinvalores:
71+
suma_precios+=precio
72+
print('\nSuma de los precios de los postres = $',suma_precios)
73+
74+
# Constructor list() aplicado al diccionario.
75+
lista_menu=list(menu)
76+
print('\nLista generada con el diccionario:',lista_menu)
77+
78+
# Construcción de listas a partir de las vistas de diccionarios.
79+
lista_claves=list(claves)# Genera lista de cadenas.
80+
print('\nLista de claves:',lista_claves)
81+
lista_items=list(items)# Genera lista de tuplas.
82+
print('Lista de ítems:',lista_items)
83+
84+
# Se obtienen listas ordenadas de menor a mayor.
85+
claves_ord=sorted(lista_claves)
86+
print('\nLista de claves ordenadas:',claves_ord)
87+
valores_ord=sorted(valores)
88+
print('Lista de valores ordenados:',valores_ord)
89+
items_ord=sorted(lista_items)
90+
print('Lista de ítems ordenados:',items_ord)
91+
92+

‎Cap3/Ejemplo 3_5.py

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
# -*- coding: utf-8 -*-
2+
"""
3+
@author: guardati
4+
Ejemplo 3_5
5+
Copia de diccionarios.
6+
"""
7+
8+
importcopy
9+
10+
num_meses= {'ene':1,'feb':2,'mar':3,'abr':4,'may':5,'jun':6}
11+
12+
# Usando métodos del módulo copy.
13+
copia_meses1=copy.copy(num_meses)
14+
copia_meses2=copy.deepcopy(num_meses)
15+
16+
# Usando la función copy().
17+
copia_meses=num_meses.copy()
18+

‎Cap3/Ejemplo 3_6.py

Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,64 @@
1+
# -*- coding: utf-8 -*-
2+
"""
3+
@author: guardati
4+
Ejemplo 3_6
5+
Creación de diccionarios usando otros datos estructurados.
6+
"""
7+
8+
# Diccionarios con diccionarios.
9+
alumnos= {'juan': {'matematica':9.5,'biologia':7.5,'literatura':8.7,'fisica':8.0},
10+
'ines': {'matematica':9.0,'biologia':8.5,'literatura':6.5,'fisica':9.0},
11+
'luis': {'matematica':9.5,'biologia':7.5,'literatura':8.7,'fisica':8.0}}
12+
solo_juan=alumnos['juan']
13+
print('\nMaterias de Juan:',solo_juan)
14+
calif=solo_juan.values()
15+
prom=sum(calif)/len(calif)
16+
print('Promedio:',prom)
17+
18+
# Diccionario con listas
19+
pract_dep= {'juan': ['futbol','basquetbol'],'ines': ['tenis','voleibol'],
20+
'luis': ['natacion','futbol','boxeo']}
21+
deportes=list(pract_dep.values())
22+
print('\nDeportes practicados por los alumnos:',deportes)
23+
# Iterando sobre la vista de valores.
24+
fut=0
25+
fordepindeportes:
26+
if'futbol'indep:
27+
fut+=1
28+
print('\n(1)Total de alumnos que practican fútbol =',fut)
29+
# Usando listas por comprensión.
30+
lis_dep= [depforlisindeportesfordepinlis]
31+
print('(2)Total de alumnos que practican fútbol =',lis_dep.count('futbol'))
32+
33+
# Diccionario con tuplas.
34+
# Tuplas como claves.
35+
equipos= {('pat','lara'):85, ('jorge','ines'):80, ('luis','leti'):103}
36+
print('\nIntegrantes de los equipos y puntajes:',equipos)
37+
puntajes=equipos.values()
38+
ganador=max(puntajes)
39+
print('El mayor número de puntos obtenidos es:',ganador)
40+
# Tuplas como valores.
41+
temporadas= {'cereza': ('verano'),'naranja': ('otoño','invierno','primavera','verano'),
42+
'mango': ('primavera','verano')}
43+
print('\nLas frutas y sus temporadas'.upper())
44+
forfrutaintemporadas:
45+
print(f'La/el{fruta} se cosecha en:{temporadas[fruta]}')
46+
# Tuplas como claves y valores.
47+
dieta= {('desay','merienda'): ('lacteo','fruta'),
48+
('comida','cena'): ('proteina','vegetal','granos','fruta')}
49+
resp=True
50+
foralimindieta:
51+
if'fruta'notindieta[alim]:
52+
resp=False
53+
break
54+
ifresp:
55+
print('\nSe debe comer fruta con todos los alimentos.')
56+
else:
57+
print('\nNo se debe comer fruta con todos los alimentos.')
58+
59+
# Mezclando tipos de datos.
60+
dic_mez= {'lluvia': ['lun','juev','vie'],25:'mar'}
61+
print('\nDiversos tipos:',dic_mez)
62+
63+
64+

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp