NSI (première) · Chapitre 6 · Application directe du cours
Écrire les critères de sélection
Traiter des données en tables · Critères, doublons, décomptes · niveau 2
É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 1G3 | Nour, Yanis |
| plus de 13 sans être en NSI | aucun |
| ni 1G1 ni 1G2 | Nour, 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.
100 % gratuit
Essaie le suivant avec le tuteur
- L'exercice suivant avec le tuteur, sans compte : il guide pas à pas, sans donner la réponse
- 16 autres exercices corrigés dans ce chapitre, et 20 à chercher avec le tuteur
- Le podcast et la vidéo du chapitre et la correction filmée du TD : 2 minutes sans compte
Sans compte : le cours, 2 minutes de podcast et de vidéo et un exercice avec le tuteur. Pour tout le reste : inscription gratuite en 30 secondes, sans carte bancaire.