= (5,3,9)
t1 = ('Juan','Perez')
t2 = ('Juan','Perez',18)
t3 = (t1, t2, t3) t4
Tuplas, Ejercicios
Clase 15
Material Clase
Continuación Clase anterior
- Agregar un menú (similar a la ‘evaluación 01’) que permita al usuario elegir las 4 opciones.
- Agregar una 5ta opcion: SALIR.
=[]
estudiantes= ''
nombre print('------------------')
print('Nombre Estudiantes')
print('------------------')
while (nombre != 'FIN'):
=input('Ingrese nombre: ')
nombre
if nombre == 'fin':
= nombre.upper()
nombre
estudiantes.append(nombre)
'FIN') # remueve 'fin' de la lista
estudiantes.remove(
= 1 #numero random para entrar al bucle
op while op!='5':
print('----------------------------------------------------------')
print('1.Mostrar Todo | 2.Ordenar | 3.Buscar | 4.Borrar | 5.Salir')
print('----------------------------------------------------------')
= input('Elegir opción: ')
op # mostrar lista
if op == '1':
for i in estudiantes:
print(i)
# ordenar lista
if op == '2':
estudiantes.sort() print('--- La lista fue ordenada ---')
# buscar nombre
if op == '3':
=input('Ingrese nombre a buscar: ')
nombreBuscarif nombreBuscar in estudiantes:
print("--- SI ESTA ---")
print(f'--- Posicion: {estudiantes.index(nombreBuscar)} de la lista ---')
else:
print ("--- NO ESTA ---")
# borrar nombre
if op == '4':
=input('Ingrese nombre para borrar: ')
nombreBorrarwhile nombreBorrar in estudiantes:
estudiantes.remove(nombreBorrar)print('--- El nombre fue eliminado de la lista ---')
# salir menu
if op == '5':
print('--- SALIR ---')
Tuplas
- Indexables: sus elementos se obtienen indicando su índices (como las ‘listas’).
- Inmutables: Sus elementos NO pueden ser modificados (contrario a las ‘listas’).
Ejemplo 01: Declaración de tuplas
= () # tupla vacía
t0 = (3,) # tupla con un elemento
t1 = (5,3,9) # tupla con números
t2 = ('Juan', 'Perez') # tupla de strings
t3 = ('Juan','Perez', 18) # tupla mixta
t4 = (t1, t2 , t3) # tupla de tuplas t5
Ejemplo 02: Tupla de tuplas
print('tupla de tuplas')
print(f't4 = {t4}')
print()
print('tupla de tuplas: vista matriz')
print(f'| t4[0][0] | t4[0][1] | t4[0][2] | | {t4[0][0]} | {t4[0][1]} | {t4[0][2]} |')
print(f'| t4[1][0] | t4[1][1] | | = | {t4[1][0]} | {t4[1][1]} | |')
print(f'| t4[2][0] | t4[2][1] | t4[2][2] | | {t4[2][0]} | {t4[2][1]} | {t4[2][2]} |')
tupla de tuplas
t4 = ((5, 3, 9), ('Juan', 'Perez'), ('Juan', 'Perez', 18))
tupla de tuplas: vista matriz
| t4[0][0] | t4[0][1] | t4[0][2] | | 5 | 3 | 9 |
| t4[1][0] | t4[1][1] | | = | Juan | Perez | |
| t4[2][0] | t4[2][1] | t4[2][2] | | Juan | Perez | 18 |
Ejemplo 03: Verificación
print(f't4[0][2] = {t4[0][2]}')
print(f't4[1][-1] = {t4[1][-1]}')
print(f't4[2][2] = {t4[2][2]}')
t4[0][2] = 9
t4[1][-1] = Perez
t4[2][2] = 18
Packing - Unpacking
- Packing
- Reunir varias variables o valores dentro de una tupla.
- Unpacking
- Pasar valores de una tupla a varias variables.
Ejemplo 01: Packing
= 'margarita'
nombre = 'castro'
apellido = 'mjcastro@uc.cl'
correo
# packing
= nombre, apellido, correo
usuario print(f'usuario = {usuario}')
usuario = ('margarita', 'castro', 'mjcastro@uc.cl')
Ejemplo 02: Unpacking
= usuario
copiaNombre, copiaApellido, copiaCorreo print(f'copiaNombre = {copiaNombre}')
print(f'copiaApellido = {copiaApellido}')
print(f'copiaCorreo = {copiaCorreo}')
copiaNombre = margarita
copiaApellido = castro
copiaCorreo = mjcastro@uc.cl
Tarea
Crear un algoritmo que permita al usuario:
- Ingresar los nombres de los estudiantes de la asignatura de Programación y almacenarlos en una Lista llamada ESTUDIANTE.
- NO PUEDEN SER INGRESADOS NOMBRES CONTENIDOS EN LA TUPLA VETADOS (‘Jennifer’,‘Luis’,‘Rady’,‘Jimmy’)
- Después de finalizar el ingreso de datos a la lista debe mostrar un menú con las siguientes opciones:
- BUSCAR: Permite al usuario ingresar un nombre y buscarlo en la lista, indicando si existe o no. Si existe debe indicar en qué posición de la lista se encuentra.
- MOSTRAR TODO: Permite mostrar todo el contenido de la lista.
- ORDENAR: Ordena la lista.
- SALIR: Única forma de salir de la ejecución del menú.
Solución Tarea
- Se reutiliza el código de tarea anterior.
- Se agrega tupla de vetados.
tarea02.py
=[]
estudiantes= ''
nombre print('------------------')
print('Nombre Estudiantes')
print('------------------')
= ('Jennifer','Luis','Rady','Jimmy')
vetados while (nombre != 'FIN'):
=input('Ingrese nombre: ')
nombre
if (nombre not in vetados):
if nombre == 'fin':
= nombre.upper()
nombre
estudiantes.append(nombre) else:
print('--- Estudiante vetado. No se puede ingresar a la lista ---')
'FIN') # remueve 'fin' de la lista
estudiantes.remove(
= 1 #numero random para entrar al bucle
op while op!='5':
print('----------------------------------------------------------')
print('1.Mostrar Todo | 2.Ordenar | 3.Buscar | 4.Borrar | 5.Salir')
print('----------------------------------------------------------')
= input('Elegir opción: ')
op # mostrar lista
if op == '1':
for i in estudiantes:
print(i)
# ordenar lista
if op == '2':
estudiantes.sort() print('--- La lista fue ordenada ---')
# buscar nombre
if op == '3':
=input('Ingrese nombre a buscar: ')
nombreBuscarif nombreBuscar in estudiantes:
print("--- SI ESTA ---")
print(f'--- Posicion: {estudiantes.index(nombreBuscar)} de la lista ---')
else:
print ("--- NO ESTA ---")
# borrar nombre
if op == '4':
=input('Ingrese nombre para borrar: ')
nombreBorrarwhile nombreBorrar in estudiantes:
estudiantes.remove(nombreBorrar)print('--- El nombre fue eliminado de la lista ---')
# salir menu
if op == '5':
print('--- SALIR ---')