👉 Para conocer la respuesta será importante analizar el orden en que se invocan las funciones, y los argumentos usados, ya que el valor retornado en algunas invocaciones es usado en la siguiente llamada.
Estos videos pueden ayudarte a resolverlo:
▶️ Funciones
▶️ Listas
▶️ Conjuntos
Click aquí para desplegar la solución. 👈
La respuesta es: True.
✏️ Explicación:
🔹 funcion1 recibe la lista [1,2,3,3,2,4] y retorna el resultado de convertirlo a conjunto y eliminar el elemento que es igual a la cantidad de veces que aparece el 3 en esa lista (es decir, el número 2). Para poder eliminar, primero coloca a ese número en una lista y luego la convierte a conjunto. Es decir, retorna el conjunto {1, 3, 4}.
🔹 funcion2 recibe a la lista [1,2,3,3,2,4] y al conjunto resultado de funcion1. A la lista le agrega el número 5 y luego retorna el resultado de convertir la lista a conjunto (lo que da el conjunto {1,2,3,4,5}) y realizar una unión con el conjunto {1,3,4}. Entonces retorna el conjunto {1,2,3,4,5}.
🔹 funcion3 recibe a un conjunto compuesto por los elementos únicos de la lista [1,2,3,3,2,4] (es decir: {1,2,3,4}) y el conjunto retornado por funcion2 (es decir, {1,2,3,4,5}). Retorna el resultado de evaluar si el primero es menor que el segundo, lo cual es verdadero, entonces el valor de retorno es True.
Desafío Python 👇
Click aquí para una versión accesible de la infografía (apta para lectores electrónicos)
Qué imprime este programa? a. {1,2,3,4,5}. b. False. c. True.
def funcion1(x):
return set(x) - set([x.count(3)])
def funcion2(x, y):
x.append(5)
return set(x) | y
def funcion3(x, y):
return x < y
L = [1,2,3,3,2,4]
Z = funcion3(set(L), funcion2(L, funcion1(L)))
print(Z)