Skip to content

Commit 44a4c51

Browse files
committed
He creado mi reto 003
1 parent 46887e3 commit 44a4c51

File tree

1 file changed

+162
-0
lines changed

1 file changed

+162
-0
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,162 @@
1+
import os
2+
def limpiar(): # Como si voy ejecutando más de una vez me "ensucia" la terminal, creo una función para que me limpie antes de arrancar
3+
os.system('cls' if os.name == 'nt' else 'clear')
4+
5+
"""
6+
LISTAS. En Python no existen Arrays. Las listas permiten la heterogeneidad de tipos de variables
7+
dentro de la lista, a diferencia de las Arrays que solo permiten tener variables del mismo tipo
8+
"""
9+
limpiar()
10+
lista=["primero",2,3.0]
11+
print(f"Inicio la lista siguiente: {lista}\n")
12+
13+
# .insert(`indice`,objeto) posiciona en el índice señalado (indice) un valor (objeto)
14+
lista.insert(2,"segundo")
15+
print(f"Añado segundo a la lista en la posición 2: {lista}\n")
16+
17+
# .append(objeto) añado al final un nuevo valor
18+
lista.append("tercero")
19+
print(f"Uso append para incorporar valor al final: {lista}\n")
20+
21+
# .remove(objeto) eliminia primer objeto que coincida dentro de la lista
22+
remove = "segundo"
23+
lista.remove(remove)
24+
print(f"Uso de remove para eliminar el valor \"{remove}\" de la lista: {lista}\n")
25+
26+
# .pop(indice) elimina el valor de la posición indicada. Si no lo acompañas se borra el último (sirve para creaciones de pilas)
27+
lista.pop()
28+
print(f"Borra el último de la lista con pop, o si indicas la posición, borra el de la posición: {lista}\n")
29+
30+
# .index(elemento) retorna el indice de la posición del elemento
31+
print(f"Me da la posición del elemento que le paso en la búsqueda con .index(2): {lista}")
32+
print(f"{lista.index(2)}\n")
33+
34+
# .copy() copia la lista en una nueva lista
35+
nueva_lista = lista.copy()
36+
print(f"Con .copy copias el contenido en una nueva lista (nueva_lista = lista.copy()): nueva_lista = {nueva_lista}\n")
37+
38+
# .clear() limpia los valores de la lista
39+
lista.clear()
40+
print(f"Con .clear borras el contenido de la lista: {lista}\n")
41+
42+
# .sort() ordenas los valores de manera ascendente
43+
nueva_lista.remove("primero")
44+
nueva_lista.sort(reverse=True)
45+
print(f"He realizado un nueva_lista.sort() para ordenar los valores con carácter ascendente, o descendente (lo he creado descendente): {nueva_lista}\n")
46+
47+
# .reverse() invierte el orden
48+
nueva_lista.reverse()
49+
print(f"Con la función .reverse() invierto el orden de los valores en la lista: {nueva_lista}\n")
50+
51+
# . count(elemento) me responde con la cantidad de veces que se encuentra ese elemento dentro de la lista
52+
contador = nueva_lista.count(2)
53+
print(f"Con .count(elemento) me devuelve la cantidad de veces que se encuentra dentro de la lista nueva_lista.count(2): {contador}\n")
54+
55+
# Se puede mostrar un elemento haciendo referència a su indice
56+
try:
57+
elemento = nueva_lista[2]
58+
print(f"muestro el puesto 2, con nueva_lista[2]: {elemento}\n")
59+
60+
except IndexError:
61+
print("nueva_lista[2]: ¡¡Error en el índice!!\n")
62+
63+
# Se puede ver los elementos de la lista desde la cola indicando un valor negativo, desde -1 (último)
64+
print(f"muestra último elemento haciendo refereréncia en el index con el -1. nueva_lista[-1]: {nueva_lista[-1]}\n")
65+
66+
# Se puede modificar los elementos señalizando el elemento en el indice
67+
nueva_lista[-1]=4
68+
print(f"modifico el último elemento. nueva_lista[-1]=4: nueva_lista={nueva_lista}\n")
69+
70+
"""
71+
Tuplas. La tupla es una lista que a posterioridad serán inmutables los elementos, ordenados y indexados.
72+
Se inicializan con parentesis, o sin ellos.
73+
"""
74+
print("TUPLAS\n")
75+
tuplaA=3,5,1,"primero","segundo","tercero"
76+
print(f"valores de tuplaA: {tuplaA}\n")
77+
78+
#llamada a los elementos mediante el índice
79+
print(f"vamos a sacar el 1er valor de la tupla tuplaA[0]: {tuplaA[0]}\n")
80+
81+
#función de count como en las listas
82+
print(f"Usamos la función .count() para que nos de el resultado de la cantidad de veces que existe dentro de la tupla. tuplaA.count(1): {tuplaA.count(1)}\n")
83+
84+
"""
85+
Diccionarios.
86+
Tiene clave y valor. Las claves son inmutables, y el valor se puede modificar
87+
"""
88+
# asignación de valores
89+
mi_Diccionario = {"nombre":"juan", "apellidos": "perez mujica"}
90+
print(f"asigno los valores del diccionario mi_Diccionario: {mi_Diccionario}\n")
91+
92+
# canvio del valor en una llave
93+
mi_Diccionario["apellidos"]="Ruiz Gallardo"
94+
print(f"cambio los valores de los apellidos a Ruiz Gallardo: {mi_Diccionario}\n")
95+
96+
# acceso y modificaciones de los valores y claves de un diccionario
97+
98+
print(mi_Diccionario.keys()) # entrega las claves del diccionario
99+
print("\n")
100+
101+
print (mi_Diccionario.values()) # entrega los valores del diccionario
102+
print("\n")
103+
104+
print(mi_Diccionario.popitem()) # entrega última clave-valor y lo eleimina
105+
print(f"Ahora mi_Diccionario tiene los elementos: {mi_Diccionario}\n")
106+
107+
"""
108+
Agenda
109+
"""
110+
print("++++++++++++++++++++++++++++++++++++++++++")
111+
print(" A G E N D A\n")
112+
print("++++++++++++++++++++++++++++++++++++++++++")
113+
agenda ={}
114+
while True: # iniciamos la consulta de que quiere hacer el usuario
115+
116+
print("1- Busqueda de un contacto\n")
117+
print("2- Inserción de un contacto\n")
118+
print("3- Actualización de un contacto\n")
119+
print("4- Eliminación de un contacto\n")
120+
121+
entrada=input("escribe opción: \n")
122+
if agenda == {} and (entrada=="1" or entrada=="3" or entrada=="4"):
123+
print("la agenda está vacia\n")
124+
continue
125+
elif entrada == "1" or entrada == "2" or entrada == "3" or entrada =="4":
126+
print("procesando\n")
127+
break
128+
else:
129+
print("no has escogido correctamente")
130+
131+
# Gestionamos la opción decidia
132+
133+
if entrada == "1": # Busqueda de contacto
134+
nombre=input("nombre: ")
135+
elemento= agenda.get(nombre)
136+
if elemento == None:
137+
print("no existe contacto")
138+
139+
elif entrada == "2": # Introducción de contacto
140+
nombre=input("nombre: ")
141+
apellidos=input("apellidos: ")
142+
telefono=input("teléfono: ")
143+
agenda[nombre] = [apellidos, telefono]
144+
145+
146+
elif entrada == "3": # solicitamos que contacto quiere actualizar y el que
147+
148+
while True:
149+
150+
nombre=input("dame el nombre del contacto a actualizar")
151+
print("que quieres realizar: \n")
152+
print("1- actualizar nombre: \n")
153+
print("2- actualizar apellidos: \n")
154+
print("3- actualizar telefono: \n")
155+
opcion=input("escribe la opción: ")
156+
157+
if opcion=="1":
158+
if nombre in agenda:
159+
nuevo_contacto=agenda.pop(nombre)
160+
agenda[nombre]=nuevo_contacto
161+
print(agenda)
162+
break

0 commit comments

Comments
 (0)