Vamos a escribir el Ejercicio 10 Tuplas, que es un tipo de Colecciones. Es recomendable que este ejercicio lo escribas (trata de no copiarlo y pegarlo), lo ejecutas y revisas el resultado esperado. Después utiliza el debugger para ejecutar el programa paso por paso.
"""
Ejercicio 10 Tuplas
04/09/2025
Edito AHR
"""
# Las Tuplas son inmutables, no se pueden modificar, agregar o eliminar elementos una vez creadas
# Se definen con paréntesis () o sin ellos, separando los elementos por comas
tupla = ()
print(tupla) # Imprime una tupla vacía
print(type(tupla)) # Imprime <class 'tuple'>
print(len(tupla)) # Imprime 0, ya que la tupla está vacía
# Crear una tupla con diferentes tipos de datos
tupla1 = (1, 2.5, "Hola", True, [1, 2, 3], (4, 5))
print(tupla1) # Imprime la tupla con diferentes tipos de datos
print(type(tupla1)) # Imprime <class 'tuple'>
print(len(tupla1)) # Imprime 6, ya que la tupla tiene 6 elementos
# Acceder a elementos de la tupla
print(tupla1[0]) # Imprime 1, el primer elemento de la tupla
print(tupla1[2]) # Imprime "Hola", el tercer elemento de la tupla
print(tupla1[-1]) # Imprime (4, 5), el último elemento de la tupla
print(tupla1[4][1]) # Imprime 2, el segundo elemento de la lista dentro de la tupla
print(tupla1[5][0]) # Imprime 4, el primer elemento de la tupla dentro de la tupla
# Intentar modificar un elemento de la tupla (esto generará un error)
# Muestra todlos los elementos de la tupla a partir del indice 1 hasta el indice 4 (el 4 no se incluye)
print(tupla1[1:4]) # Imprime (2.5, 'Hola', True)
print(tupla1[:3]) # Imprime (1, 2.5, 'Hola')
print(tupla1[2:]) # Imprime ('Hola', True, [1, 2, 3], (4, 5))
print(tupla1[:]) # Imprime toda la tupla (1, 2.5, 'Hola', True, [1, 2, 3], (4, 5))
print(tupla1[::2]) # Imprime (1, 'Hola', [1, 2, 3]) los elementos en posiciones pares
print(tupla1[1::2]) # Imprime (2.5, True, (4, 5)) los elementos en posiciones impares
print(tupla1[::-1]) # Imprime (4, 5), [1, 2, 3], True, 'Hola', 2.5, 1) la tupla en orden inverso
print(tupla1[-3:-1]) # Imprime (True, [1, 2, 3]) los elementos desde el tercer elemento desde el final hasta el penúltimo
print(tupla1[-1:-4:-1]) # Imprime ((4, 5), [1, 2, 3], True) los últimos tres elementos en orden inverso
print(tupla1[-4:]) # Imprime (True, [1, 2, 3], (4, 5)) los últimos cuatro elementos de la tupla
print(tupla1[:-4]) # Imprime (1, 2.5, 'Hola') todos los elementos excepto los últimos tres
# Verificar si un elemento está en la tupla
print("¿Está 'Hola' en la tupla?", "Hola" in tupla1) # Imprime True
print("¿Está 10 en la tupla?", 10 in tupla1) # Imprime False
# Devuelveme el índice de un elemento en la tupla
indice = tupla1.index("Hola") if "Hola" in tupla1 else -1
print("Índice de 'Hola':", indice) # Imprime 2
# Si el elemento no está en la tupla, devuelve -1
indice = tupla1.index("Adiós") if "Adiós" in tupla1 else -1
print("Índice de 'Adiós':", indice) # Imprime -1
# Si un elemento se repite en la tupla, devuelve el índice de la primera aparición
tupla2 = (1, 2, 3, 2, 4, 2)
indice = tupla2.index(2) if 2 in tupla2 else -1
print("Índice de 2 en tupla2:", indice) # Imprime 1
# Contar cuántas veces aparece un elemento en la tupla
tupla3 = (1, 2, 3, 2, 4, 2)
print("Cantidad de ocurrencias de 2 en tupla3:", tupla3.count(2)) # Imprime 3, ya que el número 2 aparece tres veces en la tupla
# Cuantas veces aparece el elemento "Hola" en la tupla1
print("Cantidad de ocurrencias de 'Hola' en tupla1:", tupla1.count("Hola")) # Imprime 1, ya que "Hola" aparece una vez en la tupla1
# Cuantas veces aparece el elemento "Adiós" en la tupla1
print("Cantidad de ocurrencias de 'Adiós' en tupla1:", tupla1.count("Adiós")) # Imprime 0, ya que "Adiós" no aparece en la tupla1
# Cuantas veces aparece el elementos tiene la tupla2
print("Cantidad de elementos en tupla2:", len(tupla2)) # Imprime 6, ya que la tupla2 tiene 6 elementos
# Cuantas veces aparece el elementos tiene la tupla3
print("Cantidad de elementos en tupla3:", len(tupla3)) # Imprime 6, ya que la tupla3 tiene 6 elementos
# Convertir una tupla en una lista
tupla_a_lista = list(tupla1)
print("Tupla convertida a lista:", tupla_a_lista) # Imprime la lista convertida de la tupla1
print(type(tupla_a_lista)) # Imprime <class 'list'>
# Convertir una lista en una tupla
lista_a_tupla = tuple(tupla_a_lista)
print("Lista convertida a tupla:", lista_a_tupla) # Imprime la tupla convertida de la lista
print(type(lista_a_tupla)) # Imprime <class 'tuple'>
Veamos los resultados en la consola:
PS C:\Users\Codigo/Modulo 3/Capitulo_2/Ejercicio_10_Tuplas.py"
()
<class 'tuple'>
0
(1, 2.5, 'Hola', True, [1, 2, 3], (4, 5))
<class 'tuple'>
6
1
Hola
(4, 5)
2
4
(2.5, 'Hola', True)
(1, 2.5, 'Hola')
('Hola', True, [1, 2, 3], (4, 5))
(1, 2.5, 'Hola', True, [1, 2, 3], (4, 5))
(1, 'Hola', [1, 2, 3])
(2.5, True, (4, 5))
((4, 5), [1, 2, 3], True, 'Hola', 2.5, 1)
(True, [1, 2, 3])
((4, 5), [1, 2, 3], True)
('Hola', True, [1, 2, 3], (4, 5))
(1, 2.5)
¿Está 'Hola' en la tupla? True
¿Está 10 en la tupla? False
Índice de 'Hola': 2
Índice de 'Adiós': -1
Índice de 2 en tupla2: 1
Cantidad de ocurrencias de 2 en tupla3: 3
Cantidad de ocurrencias de 'Hola' en tupla1: 1
Cantidad de ocurrencias de 'Adiós' en tupla1: 0
Cantidad de elementos en tupla2: 6
Cantidad de elementos en tupla3: 6
Tupla convertida a lista: [1, 2.5, 'Hola', True, [1, 2, 3], (4, 5)]
<class 'list'>
Lista convertida a tupla: (1, 2.5, 'Hola', True, [1, 2, 3], (4, 5))
<class 'tuple'>