Contexte

L'activité précédente nous a montré l'intérêt des fichiers CSV pour sauvegarder et échanger des données.

Chaque ligne d'un fichier contient les valeurs d'un enregistrement dont les descripteurs sont présents dans la première ligne du fichier.

Dans cette activité vous allez :

- afficher les informations pour un enregistrement

- utiliser les structures de contrôle de test (IF ... ELSE ...) et une boucle (FOR ... IN ...).

Préparation

Voici le script qui permet d'afficher les données sur le lycée Viala pour l'année 2020.

Copier/coller ce script dans l'éditeur trinket.

#Données du lycee Viala pour une année
lyceeViala = {'annee':'2020','academie':"AIX-MARSEILLE",'numero_etablissement':"0131360H",
              'nombre_eleve':"530",'departement':"BOUCHES-DU-RHONE",'adresse':"16 avenue GASTON CABRIER",
              'code_postal':"13300",'localite':"SALON DE PROVENCE"}
#initialisation de la variable valeur
valeur='annee'
#test IF condition
if lyceeViala[valeur]=='2019':
    #affichage à l'écran d'un message
    print("L'année 2020 est dans lyceeViala")
    #boucle POUR CHAQUE champ DANS lyceeViala
    for champ in lyceeViala.keys():
        #affichage à l'écran de variables et texte concaténés
        print(champ+": "+valeur)
#test SINON
else:
    print("L'année 2020 n'est pas présente dans lyceeViala")

Questions

a- Lancer l'exécution du script et vérifier que les informations sur l'année 2020 sont bien affichées.

b- Sans toucher aux lignes 1 à 5, modifier le script pour obtenir le résultat suivant :

trinketResu1

c- Pourquoi après l'affichage de chaque descripteur (variable champ), le mot annee est systématiquement affiché ?

d- Modifier la ligne 14 pour afficher correctement les valeurs de chaque descripteur en vous inspirant de la ligne 8.

Vous devez obtenir le résultat suivant :

trinketResu2

e- On souhaite compter le nombre de champs et afficher le message "Il y a 8 champs"
En utilisant la variable nb modifier le script pour compter les champs et obtenir l'affichage suivant :

trinketResu3

Dans print(), vous utiliserez la fonction str(nb) pour convertir le nombre en chaîne de caractères.
En effet l'instruction print() affiche des caractères et non des nombres directement.