|
| 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 | + |
| 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