Vamos a escribir el Ejercicio 11 Conjunto, 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 11 Conjuntos
04/09/2025
Edito AHR
"""
# Los conjuntos son colecciones desordenadas de elementos únicos (no se permiten duplicados)
# Se definen con llaves {} o con la función set()
# No se pueden accesar a traves de un indice, de hay que se diga que son desordenados
conjunto2 = set([1, 2, 3, 4, 5]) # Crear un conjunto. Nota: no se pueden crear conjuntos vacíos con {}, ya que eso crea un diccionario vacío
print("Imprimiendo conjunto2:", conjunto2)
print("Tipo de conjunto:", type(conjunto2))
conjunto = {1, 2, 3, 4, 5} # Crear un conjunto con llaves {}
print("Imprimiendo conjunto:", conjunto)
print("Tipo de conjunto:", type(conjunto))
print("Longitud de conjunto:", len(conjunto))
# Crear un conjunto vacío
conjunto_vacio = set()
conjunto_error = {} # Esto crea un diccionario vacío, no un conjunto
print("Imprimiendo conjunto vacío:", conjunto_vacio)
print("Tipo de conjunto vacío:", type(conjunto_vacio))
print("Longitud de conjunto vacío:", len(conjunto_vacio))
# Crear un conjunto con diferentes tipos de datos
conjunto1 = {1, 2.5, "Hola", True, (4, 5)} # Los conjuntos pueden contener diferentes tipos de datos, pero no listas ni diccionarios
print("Imprimiendo conjunto1:", conjunto1) # Imprime el conjunto con diferentes tipos de datos
print(type(conjunto1)) # Imprime <class 'set'>
print(len(conjunto1)) # Imprime 5, ya que el conjunto tiene 5 elementos (el 2.5 y True se consideran iguales)
# Acceder a elementos del conjunto (no se puede hacer, ya que los conjuntos son desordenados)
# Intentar modificar un elemento del conjunto (esto generará un error)
# Agregar elementos al conjunto
print("Imprime la variable conjunto:", conjunto)
conjunto.add(6)
print(conjunto) # Imprime {1, 2, 3, 4, 5, 6}
conjunto.update([7, 8, 9])
print(conjunto) # Imprime {1, 2, 3, 4, 5, 6, 7, 8, 9}
conjunto.add(3) # No se agrega, ya que el 3 ya está en el conjunto
print(conjunto) # Imprime {1, 2, 3, 4, 5, 6, 7, 8, 9}
conjunto.add('a') # Se agrega el elemento 'a', ya que no está en el conjunto
print(conjunto) # Imprime {1, 2, 3, 4, 5, 6, 7, 8, 9, 'a'}
conjunto.add(-3) # Se agrega el elemento -3, ya que no está en el conjunto
print(conjunto) # Imprime {1, 2, 3, 4, 5, 6, 7, 8, 9, 'a', -3}
conjunto.add(10) # Se agrega el elemento 10, ya que no está en el conjunto
print(conjunto) # Imprime {1, 2, 3, 4, 5, 6, 7, 8, 9, 'a', -3, 10}
# Eliminar elementos del conjunto
conjunto.remove(9) # El método remove() elimina un elemento del conjunto. Arroja un error si el elemento no está en el conjunto
print(conjunto) # Imprime {1, 2, 3, 4, 5, 6, 7, 8}
conjunto.discard(8) # El método discard() elimina un elemento del conjunto. No arroja un error si el elemento no está en el conjunto
print(conjunto) # Imprime {1, 2, 3, 4, 5, 6, 7}
# Eliminar todos los elementos del conjunto
conjunto.clear() # El método clear() elimina todos los elementos del conjunto
print(conjunto) # Imprime set(), un conjunto vacío
# Verificar si un elemento está en el conjunto
conjunto3 = {1, 2, 3, 4, 5}
print(3 in conjunto3) # Imprime True
print(6 in conjunto3) # Imprime False
# Verificar si un elemento no está en el conjunto
print(3 not in conjunto3) # Imprime False
print(6 not in conjunto3) # Imprime True
Veamos los resultados en la consola:
PS C:\Users\Codigo/Modulo 3/Capitulo_2/Ejrcicio_11_Conjuntos.py"
Imprimiendo conjunto2: {1, 2, 3, 4, 5}
Tipo de conjunto: <class 'set'>
Imprimiendo conjunto: {1, 2, 3, 4, 5}
Tipo de conjunto: <class 'set'>
Longitud de conjunto: 5
Imprimiendo conjunto vacío: set()
Tipo de conjunto vacío: <class 'set'>
Longitud de conjunto vacío: 0
Imprimiendo conjunto1: {1, (4, 5), 2.5, 'Hola'}
<class 'set'>
4
Imprime la variable conjunto: {1, 2, 3, 4, 5}
{1, 2, 3, 4, 5, 6}
{1, 2, 3, 4, 5, 6, 7, 8, 9}
{1, 2, 3, 4, 5, 6, 7, 8, 9}
{1, 2, 3, 4, 5, 6, 7, 8, 9, 'a'}
{1, 2, 3, 4, 5, 6, 7, 8, 9, 'a', -3}
{1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 'a', -3}
{1, 2, 3, 4, 5, 6, 7, 8, 10, 'a', -3}
{1, 2, 3, 4, 5, 6, 7, 10, 'a', -3}
set()
True
False
False
True