Prérequis:
- Cours sur les tableaux et listes Python: page du site
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$)
Ajouter une fonction pour calculer la moyenne de ces notes. Dans la cellule $B2$, ecrire le signe =
puis le nom de la fonction $= moyenne($
Compléter avec la plage de cellule contenant les valeurs:
$$= moyenne(C2:K2)$$
La valeur moyenne comprend trop de décimales…
Ajouter une fonction d’arrondi:
$$= arrondi(moyenne(C2:K2);1)$$
Ajouter des etiquettes aux colonnes. Commencer par ecrire $note1$ dans la cellule $C1$.
Puis positionner le curseur en bas à droite dans la cellule. Et cliquer-glisser vers la droite pour reproduire la mise en forme.
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$$
La valeur contient trop de décimales.
Ajouter la fonction $arrondi$ pour limiter à une seule décimale.
Cliquer-glisser avec le curseur vers la droite et vers le bas pour obtenir un tableau de valeurs aleatoires:
Puis sauvegarder le tableau avec l’extension $.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:
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
- Commencer par traiter la feuille d’exercices sur les tableaux en python: lien vers le pdf
Puis…
- 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 avecwith open('datas/classe.csv', newline='') as csvfile:
- 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])