C3.1 : La structure conditionnelle

Prendre connaissance

Prendre connaissance de Mémo : Les conditions :

  • ◼ Structures conditionnelles
  • ◼ Les opérateurs de comparaison

Applications

Applications avec if/else

Application II.1_app1

Sur feuille

Indiquer ce que fait le code suivant et le compléter avec une docstring complète.

def fonc(a):
    if a >= 0 :
        resultat = a
    else :
        resultat = -a
    return resultat
Afficher la correction

Cette fonction renvoie la valeur absolue du nombre passé en paramètre.

Code avec la docstring :

def fonc(a):
    """
    Renvoie la valeur absolue
    Args :
        a (float) : nombre
    Returns :
        (float) : valeur absolue de a
    """
    if a >= 0 :
        resultat = a
    else :
        resultat = -a
    return resultat

Application II.1_app2

D'abord sur feuille, puis sur l'ordinateur

1) Écrire une fonction prédicat est_mult_7(n) qui :

2) Compléter le programme principal pour tester la fonction avec 0, 6, 7 et 8.

Vocabulaire : une fonction prédicat est une fonction qui permet de tester si une affirmation est vraie ou fausse, autrement dit, elle renvoie True ou False

Afficher la correction
def est_multiple_de_7(nb):
    """
    Indique si l'entier passé en paramètre est multiple de 7 ou non
    Args :
        nb (int) : entier
    Returns :
        (bool) :
    """
    if nb % 7 == 0 :
        resultat = True
    else :
        resultat = False
    return resultat

# Programme principal
print(est_multiple_de_7(0) == True)
print(est_multiple_de_7(6) == False)
print(est_multiple_de_7(7) == True)
print(est_multiple_de_7(8) == False)

Application II.1_app3

D'abord sur feuille, puis sur l'ordinateur

1) Écrire une fonction gagne(point: int) -> str, qui prend un entier en paramètre et renvoie "Gagné !" si point est supérieur ou égal à 10 et "Perdu..." sinon.

2) Compléter le programme principal pour tester la fonction avec 4, 10 et 15.

Afficher la correction

Cette fonction renvoie la valeur absolue du nombre passé en paramètre.

Code avec la docstring :

def gagne(points: int) -> str:
    """
    Renvoie une chaine de caractère :
        "Gagné" si le paramètre est >= 10
        "Perdu" sinon
    Paramètres:
        points (int) : nombre de points
    Valeur renvoyée:
        (str) : chaine "Gangé" ou "Perdu"
    """
    if points >= 10:
        resultat = "Gagné !"
    else:
        resultat = "Perdu..."
    return resultat

# Programme principal
print(gagne(4) == "Perdu...")
print(gagne(10) == "Gagné !")
print(gagne(15) == "Gagné !")

Applications avec elif

Application II.2_app1

D'abord sur feuille, puis sur l'ordinateur

Écrire une fonction analyse_temperature(t:float) -> str qui :

Afficher la correction

Cette fonction renvoie la valeur absolue du nombre passé en paramètre.

Code avec la docstring :

def analyse_temperature(t:float) -> str:
    if t <= 14:
        texte = "Il fait froid !"
    elif t < 26:
        texte = "Il fait bon !"
    else:
        texte = "Il fait chaud !"
    return texte

# Programme principal
print(analyse_temperature(4) == "Il fait froid !")
print(analyse_temperature(20) == "Il fait bon !")
print(analyse_temperature(26) == "Il fait chaud !")
print(analyse_temperature(35) == "Il fait chaud !")

Application II.2_app2 : Le plus grand des trois

D'abord sur feuille, puis sur l'ordinateur

1) Écrire une fonction qui :

2) Compléter le programme principal pour tester votre fonction.

Afficher la correction

Cette fonction renvoie la valeur absolue du nombre passé en paramètre.

Code avec la docstring :

def maxi(a:float, b:float, c:float) -> float:
    """
    Renvoie le plus grand des trois nombres passés en paramètres.
    """
    if a > b:
        if a > c:
            nb_max = a
    elif b > c:
        nb_max = b
    else:
        nb_max = c
    return nb_max

# Programme principal
print(maxi(4,5,6) == 6)
print(maxi(4,5,2) == 5)
print(maxi(14,5,6) == 14)

Pour compléter

Python, documentation officielle : L'instruction if