Informatique TP1.2 Stockage des données 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 dernière valeur
stockée dans une liste
liste[
-
1]
Affichage depuis un programme vers la console :
afficher un message vers la
console
print
chaine de caractère ou
variable
print('a=',a)
afficher un saut de ligne
vers la console
print
aucune entrée
\n dans une chaine de
caractère
print()
print('a\nb')
Saisie d'une valeur au cours d'un programme :
demander une saisie dans
la console
input
message en chaine de
caractères
chaine de
caractères
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 opérations 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 été
supprimées.
2 Stockage des données dans un fichier
Afin de ne pas perdre les données 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
caractères : 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
caractères : 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
caractères
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 à prendre (évite 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
générer la variable notes à partir de son contenu actuel et la variable moyenne affectée 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 affectées 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 exécuté, une fois votre programme gestion_notes.py modifié selon la question 7),
ajouter en début de programme, les instructions permettant de récupérer les informations stockées
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, où 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 l'interface ou les textes ? Ou savez-vous comment améliorer l'interface utilisateur de StudyLib ? N'hésitez pas à envoyer vos suggestions. C'est très important pour nous!