Skip to content

Commit c62ace0

Browse files
authored
Merge pull request mouredev#7788 from santiagobima/solutions
#3 - Python
2 parents 0fbf0c8 + 1902eaa commit c62ace0

File tree

1 file changed

+143
-0
lines changed

1 file changed

+143
-0
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,143 @@
1+
#Muestra ejemplos de creacion de todas las estructuras soportadas por defecto en tu lenguaje
2+
3+
#lista: Estructura ordenada / también conocido como array , en python como tal Array en python no exite.
4+
#ordenada y modificable. Su orden es su orden de insercion de los elementos.
5+
6+
lista = ['carlos','pedro','santiago','marcos','maria']
7+
print(lista)
8+
9+
lista.append('fabiana') #insercion
10+
11+
lista.remove('carlos') #borrar
12+
13+
print(lista[1])
14+
15+
lista[1] = 'antonella'
16+
17+
lista[0] = 'geremy'
18+
19+
lista.sort() ###ordenacion### #por defecto de forma ascendente y alfabetica
20+
21+
print(lista)
22+
print(type(lista))
23+
24+
25+
#TUPLAS // Se usan en estructuras de datos rígidos para no meter la mano.
26+
27+
mitupla= ('fabiana','victoria','40','boligrafo')
28+
29+
print(mitupla[0])
30+
print(mitupla[1])
31+
mitupla = tuple(sorted(mitupla)) ##LO que nos devuelve es una lista si solo dejo sorted.!! Ademas tuve que poner el 40 en string. sino no lo deja acomodar.
32+
print(type(mitupla))
33+
34+
35+
#SETS
36+
#Estructura no ordenada pero no permite duplicados.
37+
#EL SET POR DEFINICION ES UNA ESTRUCTURA DESORDENADA ! ! NO ME PUEDO FIAR DE LA POSICION DE UN ELEMENTO !!
38+
39+
#Sets no tengo operacion de acceso !!! No hay nada que me asegure que va haber en esa posición.
40+
41+
42+
miset = {'3434','13435','40349','549340','santiago'}
43+
miset.add('jorge')
44+
miset.add('jorge') ###NO lo va a dejar de duplicar.
45+
miset.add('[email protected]')
46+
miset.remove('3434') #La eliminacion si funciona !!!
47+
#Lo mejor si quiero reemplazar un dato es elimianr ese dato y agregar otro.
48+
49+
miset = set(sorted(miset)) #Por deficiion el set no se puede ordenar. No es una estructura ordenada.!
50+
51+
print(type(miset))
52+
print(miset)
53+
54+
55+
56+
#Por definicion los diccionarios no son ordenados pero en realidad si acaba siendo ordenados por la forma en que en python han decidido que sean ordenados pero ha sudio una decision de implementacion. Por eso solo puedo acceder a valores por clave.
57+
58+
diccionario = {'nombre':'santiago','edad':37,'nacionalidad': 'hungaro'}
59+
60+
diccionario['idioma'] = 'ingles' #agrego un valor.
61+
62+
diccionario['nombre'] = 'jeremy' #modifico un valor.
63+
64+
del diccionario['edad'] #elimino #del es una operacion reservada del sistema.
65+
66+
#si solo le paso sorted solo pilla las claves
67+
diccionario = dict(sorted(diccionario.items())) #acabo terminando esta lista de tuplas en un diccionario.
68+
69+
print(type(diccionario))
70+
print(diccionario)
71+
72+
73+
#BONUS -->>>: D IFI CULTA D EX TR A
74+
75+
def telefono(nombre,agenda):
76+
77+
numero = input('dame el numero')
78+
if numero.isdigit() and len(numero) <= 11:
79+
80+
agenda[nombre] = numero
81+
82+
else:
83+
print('no cumple con los requisitos basicos')
84+
85+
def agendita():
86+
87+
agenda = {}
88+
89+
while True:
90+
91+
print("1. Buscar contacto")
92+
print("2. Insertar contacto")
93+
print("3. Actualizar contacto")
94+
print("4. Eliminar contacto")
95+
print("5. Salir")
96+
97+
opcion = input('\ndame un numero y vamos a ver ')
98+
99+
#En PYTHON EL SWICHT SE LLAMA MATCH:
100+
101+
match opcion:
102+
103+
case '1':
104+
nombre = input('dame el nombre a buscar')
105+
if nombre in agenda:
106+
print(nombre)
107+
108+
else:
109+
print('no esta en la agenda')
110+
111+
case '2':
112+
nombre = input('dame el nombre a agregar')
113+
114+
telefono(nombre,agenda)
115+
116+
case'3':
117+
118+
nombre = input('dame el nombre a actualizar')
119+
if nombre in agenda:
120+
telefono(nombre,agenda)
121+
else:
122+
print('no existe')
123+
124+
125+
case '4':
126+
127+
name = input('dime a quien debemos eliminar')
128+
129+
if name in agenda:
130+
del agenda[name]
131+
132+
else:
133+
print(f'el contadto {name} no existe bro')
134+
135+
case '5':
136+
print('saliendo del programa')
137+
break
138+
case _:
139+
print('Opcion no valida. Elige una opcion del 1 al 5.')
140+
141+
142+
if __name__ == '__main__':
143+
agendita()

0 commit comments

Comments
 (0)