Informatique TP1.2 Stockage des dones en python
Lycée Jules Ferry Cannes Page 1 sur 3 TSI1
L'objectif de ce TP est de stocker des notes dans une variable tout d'abord, puis dans un fichier texte.
1 Collecte de notes dans une variable
Rappel des instructions utiles à cette partie :
Pour quoi faire ?
fonction
entrée(s)
sortie
exemples
Travail sur les listes :
Initialiser une liste
a=[ ]
liste
liste=liste+[1]
liste=liste+[a]
liste += [1]
Déterminer le nombre
d'éléments dans une liste
len
liste
entier : nombre
d'éléments de la liste
len(liste)
Lire la dernre valeur
stoce dans une liste
liste[
-
1]
Affichage depuis un programme vers la console :
afficher un message vers la
console
print
chaine de caracre ou
variable
print('a=',a)
afficher un saut de ligne
vers la console
print
aucune entrée
\n dans une chaine de
caracre
print()
print('a\nb')
Saisie d'une valeur au cours d'un programme :
demander une saisie dans
la console
input
message en chaine de
caracres
chaine de
caracres
a=input("a=?
\
n")
Convertir une chaine de caractères en flottant :
float
chaine de caractère
contenant un flottant
flottant
a=float(a)
Comme il y aura plusieurs notes, on les stockera dans une liste notes
1) Lancer Spyder et fermer les programmes ouverts dans l'éditeur issus de la session précédente.
2) Dans la console, créer la variable globale notes en lui affectant une liste vide ainsi que la variable
globale moyenne en lui affectant la valeur 0.
3) Créer un nouveau programme et l'enregistrer sous le nom gestion_notes.py dans un dossier
TP1_2_stockage.
Liste des orations que devra effectuer le programme gestion_notes.py:
afficher :
- un saut de ligne pour séparer les messages du programme des messages écrits au lancement
dans la console,
- le message 'La liste des notes est :' suivi de la liste des notes,
- le message 'La moyenne des notes est :' suivi de la moyenne.
Informatique TP1.2 Stockage des données en python
Lycée Jules Ferry Cannes Page 2 sur 3 TSI1
demander la saisie d'une note par l'utilisateur. Cette note sera ajoutée comme un flottant dans la
liste notes
calculer la moyenne par la formule moyenne=(moyenne*(len(notes)-1)+notes[-1])/len(notes)
une fois la nouvelle note mémorisée, on affiche un message (pour confirmer la saisie) qui sera
identique au message avant la saisie.
4) Vous pouvez exécuter plusieurs fois le programme gestion_notes pour constater que notes et
moyenne sont bien des variables globales. Elles sont mémorisées pendant toute la durée de la
session Spyder.
5) Fermer puis relancer Spyder. Vous constatez que les variables notes et moyenne ont é
supprimées.
2 Stockage des données dans un fichier
Afin de ne pas perdre les dones d'une session à une autre, il convient de stocker les variables dans un
fichier.
Utiliser votre programme plusieurs fois, ou affecter directement dans la console les variables suivantes:
>>> notes=[8,10,12]
>>> moyenne=10
Rappel des instructions utiles à cette partie :
Pour quoi faire ?
fonction
entrée(s)
sortie
exemples
Créer un fichier
(ou écraser un fichier
existant)
open
chaines de
caracres : nom
du fichier, mode
de lecture 'w'
le fichier
monfichier=open('archives.txt','w')
NB permet l'écriture
Ouvrir un fichier
existant
open
chaines de
caracres : nom
du fichier, mode
de lecture 'r'
le fichier
monfichier=open('archives.txt','r')
erreur si le fichier n'existe pas
Exécuter les lignes de
commandes
contenues dans une
chaine de caractères
exec
chaine de
caracres
contenant des
lignes de code en
python
celles
contenus
dans le code
exécuté
exec("a=1
")
affecte la valeur 1 à la variable a
Méthodes permettant le travail sur un fichier nommé f à l'ouverture :
Pour quoi faire ?
Méthode
Exemples
Commentaires
Lire le contenu d'un
fichier ouvert en lecture
(mode 'r')
read
texte=f.read()
la variable
texte
contient la chaine de caractère
contenu dans le fichier f.
Ecrire dans un fichier
ouvert en écriture
(mode 'w')
write
f.write('texte à
écrire')
la chaine de caractères est écrite dans le fichier
f
à la suite du texte qui a été écrit depuis
l'ouverture en mode écriture 'w'
Fermer un fichier
close
f.close()
La fermeture de fichier ouvert est une bonne
habitude à prendrevite les conflits d'écriture).
6) A la fin du programme gestion_notes.py ajouter les instructions permettant de :
- créer un fichier notes_save.txt en utilisant la fonction open en mode écriture 'w'
- créer une chaine de caractères, stockée dans une variable script, contenant le code pour
rer la variable notes à partir de son contenu actuel et la variable moyenne affece de sa
valeur.
Informatique TP1.2 Stockage des données en python
Lycée Jules Ferry Cannes Page 3 sur 3 TSI1
solution partielle : "notes="+str(notes)+"\nmoyenne permettra à l'exécution de créer les
variables notes et moyenne affeces de leurs valeurs actuelles.
- ouvrir le fichier notes_save.txt
- écrire la chaine de caractères script dans le fichier notes_save.txt
7) Après avoir ecuté, une fois votre programme gestion_notes.py modif selon la question 7),
ajouter en but de programme, les instructions permettant de récupérer les informations stoces
dans le fichier notes_save.txt:
- ouvrir le fichier notes_save.txt en lecture (mode 'r') que l'on nommera file
- lire le contenu du fichier file dans la variable script
- fermer le fichier file,
- exécuter le code contenu dans la chaine de caractère stockée dans script.
8) Exécuter plusieurs fois votre programme gestion_notes.py afin de vérifier qu'il fonctionne
correctement.
9) Vous pouvez ouvrir le fichier notes_save.txt avec le bloc note (ou avec Spyder) pour constater qu'il
s'agit bien d'un fichier texte. Le répertoire par défaut, est enregistré ce fichier, est celui où a été
enregistré le dernier programme python lors de son exécution.
10) Vérifier que la place prise par un caractère (chiffre, lettre, espace, retour à la ligne) prend bien un
octet. Pour cela, on comparera le nombre de caractères dans le fichier à l'espace pris par le fichier
en mémoire (cliquer droit sur le fichier dans l'explorateur windows).
11) Pour compléter la programmation, on peut envisager de :
- mémoriser les notes concernant plusieurs activités (kholles, interrogation et DS)
- calculer la moyenne générale de ces activités éventuellement coefficientées (coefficient
respectifs 3, 2 et 5).
1 / 3 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !