Bonjour j'ai DM en NSI, est ce que pourriez m'aidez, svp, je ne comprend pas, merci et voici l'exercice :
Partie A : Sélection et / ou Projection
Q0. Copier le code ci-dessous dans un fichier TD9_exo5.py et placer le fichier classe.csv dans le même répertoire.
import csv
# def des fonctions
def affiche_table(t, fieldnames, comment=''):
if comment != '':
print(comment)
for e in t:
for cle in fieldnames:
print(f'{cle} = {e[cle]}', end='\t')
print()
print()
# def des constantes
COEFS = {'MATHS': 7, 'PH-CH': 6, 'SVT': 6, 'SPE': 2, 'HI-GE': 3, 'PHILO': 3, 'LV1': 3, 'LV2': 2, 'EPS': 2}
# Prog principal
# Import du fichier classe.csv sous forme de liste de dictionnaires et affectation à la variable classe
with open(..., ..., encoding='utf-8') as ...:
...
affiche_table(classe,
['NOM', 'SEXE', 'ANNEE', 'MATHS', 'PH-CH', 'SVT', 'SPE', 'HI-GE', 'PHILO', 'LV1', 'LV2', 'EPS'],
comment='Table classe :')
# Créer une table t1 contenant uniquement les champs 'NOM', 'MATHS', 'PH-CH' et 'SVT'
t1 = ...
affiche_table(t1,
['NOM', 'MATHS', 'PH-CH', 'SVT'],
comment='Table t1 :')
# Créer une table t2 des élèves ayant la moyenne en math et en physique contenant tous les champs
t2 = ...
affiche_table(t2,
['NOM', 'SEXE', 'ANNEE', 'MATHS', 'PH-CH', 'SVT', 'SPE', 'HI-GE', 'PHILO', 'LV1', 'LV2', 'EPS'],
comment='Table t2 :')
# Créer une table t3 des élèves ayant la moyenne en math et en physique
# contenant uniquement les champs 'NOM', 'MATHS', 'PH-CH'
t3 = ...
affiche_table(t3,
['NOM', 'MATHS', 'PH-CH'],
comment='Table t3 :')
# Créer une table t4 des filles ayant la moyenne en SVT
# contenant uniquement les champs 'NOM', 'SEXE', 'SVT'
t4 = ...
affiche_table(t4,
['NOM', 'SEXE', 'SVT'],
comment='Table t4 :')
Q1. Compléter les lignes d'instructions nécessaires à l'import du fichier classe.csv et à la création de la liste de dictionnaires classe correspondante.
Q2. Compléter les instructions permettant de créer les tables t1, t2, t3 et t4 en respectant les consignes.