Introducción
En este laboratorio, aprenderás cómo comprobar si una función de Python devuelve un valor específico. El laboratorio se centra en comprender los retornos de función utilizando la declaración return y verificar la salida.
Comenzarás creando un script de Python con una función que calcule la suma de dos números y devuelva el resultado. Luego ejecutarás el script y observarás la salida. Finalmente, modificarás el script para devolver diferentes valores según una condición y verificar el valor devuelto.
Comprender los retornos de funciones
En este paso, aprenderás sobre los retornos de función en Python. Las funciones son bloques de código reutilizables que realizan tareas específicas. A menudo, querrás que una función te devuelva un resultado después de terminar su trabajo. Esto se hace utilizando la declaración return.
Comencemos creando un simple script de Python que defina una función con un valor de retorno.
Abre el editor de VS Code en el entorno de LabEx.
Crea un nuevo archivo llamado
calculate_sum.pyen el directorio~/project.~/project/calculate_sum.pyAgrega el siguiente código al archivo
calculate_sum.py:def calculate_sum(x, y): """ This function calculates the sum of two numbers. """ sum_result = x + y return sum_result ## Example usage: num1 = 10 num2 = 5 result = calculate_sum(num1, num2) print("The sum of", num1, "and", num2, "is", result)En este código:
- Definimos una función llamada
calculate_sumque toma dos argumentos,xey. - Dentro de la función, calculamos la suma de
xeyy la almacenamos en una variable llamadasum_result. - La declaración
return sum_resultenvía el valor desum_resultde vuelta al llamador de la función. - Luego llamamos a la función con
num1 = 10ynum2 = 5, y almacenamos el valor devuelto en la variableresult. - Finalmente, usamos la función
print()para mostrar el resultado.
- Definimos una función llamada
Ahora, ejecuta el script utilizando el siguiente comando en la terminal:
python ~/project/calculate_sum.pyDeberías ver la siguiente salida:
The sum of 10 and 5 is 15Esta salida confirma que la función calculó correctamente la suma y devolvió el valor, que luego se imprimió en la consola.
Modifiquemos el script para devolver un valor diferente según una condición. Edita el archivo
calculate_sum.pypara incluir lo siguiente:def calculate_sum(x, y): """ This function calculates the sum of two numbers. If the sum is greater than 10, it returns double the sum. """ sum_result = x + y if sum_result > 10: return sum_result * 2 else: return sum_result ## Example usage: num1 = 10 num2 = 5 result = calculate_sum(num1, num2) print("The sum of", num1, "and", num2, "is", result) num3 = 2 num4 = 3 result2 = calculate_sum(num3, num4) print("The sum of", num3, "and", num4, "is", result2)Aquí, hemos agregado una declaración condicional (
if sum_result > 10:) para comprobar si la suma es mayor que 10. Si lo es, la función devuelve el doble de la suma; de lo contrario, devuelve la suma original.Ejecuta el script nuevamente:
python ~/project/calculate_sum.pyAhora deberías ver la siguiente salida:
The sum of 10 and 5 is 30 The sum of 2 and 3 is 5La primera llamada a
calculate_sumdevuelve 30 porque la suma (15) es mayor que 10, por lo que se duplica. La segunda llamada devuelve 5 porque la suma (5) no es mayor que 10.
Llamar a la función y capturar la salida
En este paso, aprenderás cómo llamar a una función y capturar su salida en Python. Capturar la salida de una función te permite utilizar el valor devuelto en cálculos o operaciones adicionales dentro de tu script.
Seguiremos utilizando el archivo calculate_sum.py del paso anterior. Si no has completado el paso anterior, por favor crea el archivo con el siguiente contenido:
def calculate_sum(x, y):
"""
This function calculates the sum of two numbers.
If the sum is greater than 10, it returns double the sum.
"""
sum_result = x + y
if sum_result > 10:
return sum_result * 2
else:
return sum_result
## Example usage:
num1 = 10
num2 = 5
result = calculate_sum(num1, num2)
print("The sum of", num1, "and", num2, "is", result)
num3 = 2
num4 = 3
result2 = calculate_sum(num3, num4)
print("The sum of", num3, "and", num4, "is", result2)
Ahora, modifiquemos el script para capturar la salida de la función calculate_sum y realizar operaciones adicionales con ella.
Abre el archivo
calculate_sum.pyen el editor de VS Code.Modifica el script de la siguiente manera:
def calculate_sum(x, y): """ This function calculates the sum of two numbers. If the sum is greater than 10, it returns double the sum. """ sum_result = x + y if sum_result > 10: return sum_result * 2 else: return sum_result ## Example usage: num1 = 10 num2 = 5 result = calculate_sum(num1, num2) print("The sum of", num1, "and", num2, "is", result) ## Capture the output and perform an additional operation final_result = result + 20 print("The final result after adding 20 is:", final_result) num3 = 2 num4 = 3 result2 = calculate_sum(num3, num4) print("The sum of", num3, "and", num4, "is", result2) ## Capture the output and perform an additional operation final_result2 = result2 * 2 print("The final result after multiplying by 2 is:", final_result2)En este script modificado:
- Llamamos a la función
calculate_sumconnum1ynum2, y almacenamos el valor devuelto en la variableresult. - Luego sumamos 20 al
resulty lo almacenamos enfinal_result. - Finalmente, imprimimos el valor de
final_result. - También llamamos a la función
calculate_sumconnum3ynum4, y almacenamos el valor devuelto en la variableresult2. - Luego multiplicamos
result2por 2 y lo almacenamos enfinal_result2. - Finalmente, imprimimos el valor de
final_result2.
- Llamamos a la función
Ejecuta el script utilizando el siguiente comando:
python ~/project/calculate_sum.pyDeberías ver la siguiente salida:
The sum of 10 and 5 is 30 The final result after adding 20 is: 50 The sum of 2 and 3 is 5 The final result after multiplying by 2 is: 10Esta salida demuestra que puedes llamar exitosamente a una función, capturar su valor devuelto y utilizar ese valor en operaciones posteriores dentro de tu script.
Comparar la salida con el valor esperado
En este paso, aprenderás cómo comparar la salida de una función con un valor esperado. Esto es una parte crucial de la prueba y garantía de que tus funciones estén funcionando correctamente. Al comparar la salida real con la salida esperada, puedes identificar y corregir cualquier error en tu código.
Seguiremos utilizando el archivo calculate_sum.py de los pasos anteriores. Si no has completado los pasos anteriores, por favor crea el archivo con el siguiente contenido:
def calculate_sum(x, y):
"""
This function calculates the sum of two numbers.
If the sum is greater than 10, it returns double the sum.
"""
sum_result = x + y
if sum_result > 10:
return sum_result * 2
else:
return sum_result
## Example usage:
num1 = 10
num2 = 5
result = calculate_sum(num1, num2)
print("The sum of", num1, "and", num2, "is", result)
## Capture the output and perform an additional operation
final_result = result + 20
print("The final result after adding 20 is:", final_result)
num3 = 2
num4 = 3
result2 = calculate_sum(num3, num4)
print("The sum of", num3, "and", num4, "is", result2)
## Capture the output and perform an additional operation
final_result2 = result2 * 2
print("The final result after multiplying by 2 is:", final_result2)
Ahora, agreguemos una función para comparar la salida con un valor esperado e imprimir un mensaje que indique si la prueba pasó o falló.
Abre el archivo
calculate_sum.pyen el editor de VS Code.Modifica el script de la siguiente manera:
def calculate_sum(x, y): """ This function calculates the sum of two numbers. If the sum is greater than 10, it returns double the sum. """ sum_result = x + y if sum_result > 10: return sum_result * 2 else: return sum_result def compare_output(actual_output, expected_output): """ This function compares the actual output with the expected output. """ if actual_output == expected_output: print("Test passed!") else: print("Test failed. Expected:", expected_output, "Actual:", actual_output) ## Example usage: num1 = 10 num2 = 5 result = calculate_sum(num1, num2) print("The sum of", num1, "and", num2, "is", result) ## Capture the output and perform an additional operation final_result = result + 20 print("The final result after adding 20 is:", final_result) ## Compare the output with the expected value expected_final_result = 50 compare_output(final_result, expected_final_result) num3 = 2 num4 = 3 result2 = calculate_sum(num3, num4) print("The sum of", num3, "and", num4, "is", result2) ## Capture the output and perform an additional operation final_result2 = result2 * 2 print("The final result after multiplying by 2 is:", final_result2) ## Compare the output with the expected value expected_final_result2 = 10 compare_output(final_result2, expected_final_result2)En este script modificado:
- Definimos una función llamada
compare_outputque toma dos argumentos:actual_outputyexpected_output. - Dentro de la función, comparamos el
actual_outputcon elexpected_output. - Si son iguales, imprimimos "Test passed!".
- Si no son iguales, imprimimos "Test failed." junto con los valores esperado y real.
- Luego llamamos a la función
compare_outputconfinal_resultyexpected_final_resultpara comparar la salida del primer cálculo con el valor esperado de 50. - También llamamos a la función
compare_outputconfinal_result2yexpected_final_result2para comparar la salida del segundo cálculo con el valor esperado de 10.
- Definimos una función llamada
Ejecuta el script utilizando el siguiente comando:
python ~/project/calculate_sum.pyDeberías ver la siguiente salida:
The sum of 10 and 5 is 30 The final result after adding 20 is: 50 Test passed! The sum of 2 and 3 is 5 The final result after multiplying by 2 is: 10 Test passed!Esta salida demuestra que puedes comparar exitosamente la salida de una función con un valor esperado y determinar si la prueba pasó o falló.
Resumen
En este laboratorio, el primer paso se centra en comprender los retornos de funciones en Python. Implica crear un script calculate_sum.py que define una función, calculate_sum(x, y), la cual calcula la suma de dos números de entrada y devuelve el resultado utilizando la declaración return. Luego, el script llama a esta función con valores de muestra e imprime la suma devuelta en la consola, demostrando cómo una función puede devolver un valor que se puede capturar y utilizar en otras partes del código.
Luego, se modifica el script inicial para devolver diferentes valores según una condición, lo que ilustra aún más la flexibilidad de los retornos de funciones. Este paso refuerza el concepto de las funciones como bloques de código reutilizables que pueden proporcionar salidas específicas en función de sus entradas y lógica interna.



