Un menu à plusieurs cas
Exercice supplémentaire · niveau 2 · sciences numériques et technologie (seconde), chapitre 3 — Instructions conditionnelles · La structure if / elif / else
Énoncé
Beaucoup de langages possèdent une instruction switch pour aiguiller selon la valeur d'une variable. Python ne l'a longtemps pas eue. Écrire une fonction operation(a, b, symbole) qui effectue l'opération demandée ("+", "-", "*", "/"), en traitant la division par zéro et le symbole inconnu.
Corrigé
def operation(a, b, symbole):
if symbole == "+":
return a + b
elif symbole == "-":
return a - b
elif symbole == "*":
return a * b
elif symbole == "/":
if b == 0:
return "division par zéro"
return a / b
else:
return "opération inconnue"
print(operation(7, 2, "*")) # 14
print(operation(7, 0, "/")) # division par zéro
print(operation(7, 2, "^")) # opération inconnue
Deux cas limites sont traités, et c'est le cœur de l'exercice : la division par zéro et le symbole non prévu. Un programme qui ne les traite pas plante ou, pire, renvoie None sans rien dire.
Les autres exercices de ce chapitre Le cours du chapitre
Un blocage sur cet exercice ? Le tuteur d'Adloun guide par questions, sans donner la réponse.