Comparer la sortie avec une valeur attendue
Dans cette étape, vous apprendrez à comparer la sortie d'une fonction avec une valeur attendue. Cela est une partie cruciale des tests et de la vérification que vos fonctions fonctionnent correctement. En comparant la sortie réelle avec la sortie attendue, vous pouvez identifier et corriger les erreurs dans votre code.
Nous continuerons à utiliser le fichier calculate_sum.py
des étapes précédentes. Si vous n'avez pas terminé les étapes précédentes, veuillez créer le fichier avec le contenu suivant :
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)
Maintenant, ajoutons une fonction pour comparer la sortie avec une valeur attendue et afficher un message indiquant si le test a réussi ou échoué.
-
Ouvrez le fichier calculate_sum.py
dans l'éditeur VS Code.
-
Modifiez le script comme suit :
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)
Dans ce script modifié :
- Nous définissons une fonction appelée
compare_output
qui prend deux arguments : actual_output
et expected_output
.
- À l'intérieur de la fonction, nous comparons
actual_output
avec expected_output
.
- Si elles sont égales, nous affichons "Test passed!".
- Si elles ne sont pas égales, nous affichons "Test failed." ainsi que les valeurs attendue et réelle.
- Nous appelons ensuite la fonction
compare_output
avec final_result
et expected_final_result
pour comparer la sortie du premier calcul avec la valeur attendue de 50.
- Nous appelons également la fonction
compare_output
avec final_result2
et expected_final_result2
pour comparer la sortie du deuxième calcul avec la valeur attendue de 10.
-
Exécutez le script en utilisant la commande suivante :
python ~/project/calculate_sum.py
Vous devriez voir la sortie suivante :
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!
Cette sortie démontre que vous pouvez comparer avec succès la sortie d'une fonction avec une valeur attendue et déterminer si le test a réussi ou échoué.