Adloun

Écrire les critères de sélection

Application directe du cours · niveau 2 · NSI (première), chapitre 6 — Traiter des données en tables · Critères, doublons, décomptes

Énoncé

Écrire les critères de sélection : les élèves de 1G3 ; ceux qui ont plus de 13 sans être en NSI ; ceux qui ne sont ni en 1G1 ni en 1G2.

Corrigé


def en_1g3(l):
    return l["classe"] == "1G3"

def bon_hors_nsi(l):
    return l["moyenne"] > 13 and not (l["option"] == "NSI")

def ni_1g1_ni_1g2(l):
    return not (l["classe"] == "1G1" or l["classe"] == "1G2")

Résultats sur la table de cinq élèves :

CritèreÉlèves retenus
en 1G3Nour, Yanis
plus de 13 sans être en NSIaucun
ni 1G1 ni 1G2Nour, Yanis

Le deuxième critère ne rend rien — et c'est juste. Adam a exactement , et « plus de 13 » s'écrit > 13, non >= 13 : il est donc écarté. Camille a . C'est un résultat vide, pas une erreur : la première chose à faire devant une sélection vide est de vérifier la traduction de l'énoncé, la seconde de vérifier les données.

Le troisième, par la loi de De Morgan. not (A or B) équivaut à (not A) and (not B) : « ni l'un ni l'autre ». Les deux écritures ont été comparées sur chaque ligne de la table — elles s'accordent partout. Écrire la négation directement avec deux != et un and est correct ; écrire != "1G1" or != "1G2" ne l'est pas, et retiendrait tout le monde.

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.