Adloun

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.