tableaux Excel et python

Prérequis:

Partie 1: Tableaux et traitement sur Excel

Commencer par remplir les notes de l’élève comme sur l’image ci-dessous (cellules $C2$ à $K2$)

tableau de données

tableau de données

Ajouter une fonction pour calculer la moyenne de ces notes. Dans la cellule $B2$, ecrire le signe = puis le nom de la fonction $= moyenne($

saisie de la fonction moyenne

saisie de la fonction moyenne

Compléter avec la plage de cellule contenant les valeurs:

$$= moyenne(C2:K2)$$

plage de valeurs de C2 à K2

plage de valeurs de C2 à K2

La valeur moyenne comprend trop de décimales…

Ajouter une fonction d’arrondi:

$$= arrondi(moyenne(C2:K2);1)$$

arrondir à 1 ou 2 décimale-s

arrondir à 1 ou 2 décimale-s

Ajouter des etiquettes aux colonnes. Commencer par ecrire $note1$ dans la cellule $C1$.

etiquette note1

etiquette note1

Puis positionner le curseur en bas à droite dans la cellule. Et cliquer-glisser vers la droite pour reproduire la mise en forme.

remplissage automatique des noms des colonnes

remplissage automatique des noms des colonnes

Faire la même manipulation pour obtenir des etiquettes aux lignes (eleve1, eleve2,…)

Dans la cellule $C3$, mettre une note aleatoire entre 0 et 20 avec:

$$= alea() * 20$$

ajout d'une valeur aleatoire

ajout d'une valeur aleatoire

La valeur contient trop de décimales.

Ajouter la fonction $arrondi$ pour limiter à une seule décimale.

=arrondi(alea...

=arrondi(alea...

Cliquer-glisser avec le curseur vers la droite et vers le bas pour obtenir un tableau de valeurs aleatoires:

tableau de valeurs aleatoires

tableau de valeurs aleatoires

Puis sauvegarder le tableau avec l’extension $.csv$

classe.csv

classe.csv

Ce format est echangeable entre logiciels et peut être traité en langage python (Partie 2).

Si vous l’ouvrez avec un editeur textuel (notepad++, …), vous devriez obtenir à peu près ceci:

contenu du fichier classe.csv

contenu du fichier classe.csv

Un fichier dans lequel les lignes représentent les $eleves$. Les valeurs sont separées par des points virgules “;”

Fonctions moyenne et autres traitement sur les listes Python

Programmez vos fonctions en python pour analyser une liste de notes:

Notebook à telecharger: tableur_vers_python.ipynb

Utiliser une distribution python en local.

Traiter la partie 1 du notebook

Partie 2: Tableaux python

  1. Commencer par traiter la feuille d’exercices sur les tableaux en python: lien vers le pdf

Puis…

  1. Traiter la partie 2 du notebook Il s’agit de la partie 2 du notebook. Vous allez placer le fichier $classe.csv$ à proximité du notebook.
  • Vous pouvez le placer dans le même dossier que le notebook: Depuis le script python, ouvrez le alors avec l’instruction with open('classe.csv', newline='') as csvfile:
  • ou bien dans un sous dossier datas. Ouvrir alors avec with open('datas/classe.csv', newline='') as csvfile:
  1. Animation sur Pythontutor: modifier une liste, copie par référence.

Pour finir, voir l’execution du script suivant sur Pythontutor

classe = [['\ufeff','moyenne','note1','note2','note3','note4','note5',
  'note6','note7','note8','note9'],
 ['eleve1', '12,5', 10.0, 8.9, 9.9, 12.3, 11.1, 12.3, 13.1, 14.5, 20.0],
 ['eleve2', '', 4.2, 2.1, 16.5, 15.0, 19.6, 7.5, 10.3, 18.8, 17.4]]

def moyenne(tab):
    s = 0
    for note in tab:
        s += note
    return s / len(tab)

eleve = classe[2]
eleve[1] = round(moyenne(eleve[2:]),2)
print(eleve)
print(classe[2])