Projet : TP de préparation¶
Créer un nouveau fichier "TP_Préparation_Projet.py" dans votre dossier NSI.
Tous les projets doivent permettre d'interagir avec l'utilisateur, et stockent des informations dans des fichiers. Vous devez donc maîtriser ces éléments avant de vous lancer dans votre projet.
A. Interagir avec l'utilisateur¶
L'utilisateur peut envoyer des informations au programme avec la fonction input
, comme dans l'exemple suivant :
age = input("Quel est votre âge ? ")
age
?
- Par défaut, les données saisies par l'ordinateur sont représentées par le type chaîne de caractères. Il peut donc être nécessaire de les convertir, quand on veut manipuler des nombres, et faire des opérations avec. Compléter le code suivant avec la fonction
int
pour ne pas avoir d'erreur :
age = input("Quel est votre âge ? ")
age = ... #à compléter
age = age+1
Vous pouvez, à partir d'ici, commenter cette partie du programme pour qu'elle ne s'exécute pas ensuite.
B. Utiliser les fichiers¶
Pour écrire du texte dans un fichier, nous allons utiliser un programme comme celui ci-dessous :
mot = input('Entrez un mot')
with open('fichier.txt','a') as f :
f.write(mot)
fichier.txt
s'il n'existe pas déjà, grâce à la fonction open
. Celle-ci prend en paramètre le nom du fichier, et un mode d'accès :-
'r'
: ouverture en lecture-
'w'
: ouverture en écriture-
'a'
: ouverture en écrire en mode "ajout", c'est-à-dire que l'on écrit à la fin du fichier.
-
Exécuter ce programme, et entrer un mot à écrire.
-
Le fichier
fichier.txt
aura été créé dans le même dossier que celui qui contient votre fichier Python. Localiser le fichier, et l'ouvrir avec un éditeur de texte pour vérifier qu'il contient bien ce mot. -
Exécuter ce programme une deuxième fois, et entrer un nouveau mot. Vérifier qu'il se trouve bien écrit dans le fichier, à la suite du premier.
-
Analyser le code suivant. Que doit contenir la variable
ligne
? Le vérifier en l'exécutant.with open('fichier.txt','r') as f : ligne=f.read()
-
Entrer des mots les uns à la suite des autres crée un fichier qui n'est pas très lisible... Pour séparer les informations, on peut forcer le retour à la ligne avec le caractère
\n
. Exécuter l'instruction suivante pour vérifier que l'on a bien un saut de ligne :print('numérique et \nsciences informatiques')
-
Modifier votre programme d'écriture dans le fichier (question 1), pour que chaque nouveau mot entré s'écrive sur une nouvelle ligne.
-
Le programme suivant permet de lire un fichier, et de stocker le texte écrit sur les différentes lignes dans une liste Python. Tester ce programme.
mots = [] with open('fichier.txt','r') as f : for ligne in f: ligne = ligne.replace("\n","") mots.append(ligne)
C. Créer un menu¶
Votre programme intégrera un menu, donnant le choix à l'utilisateur sur l'action à effectuer. Pour afficher un menu, on peut utiliser un programme comme celui-ci :
print('1. Choix 1 \n 2. Choix 2 \n 3. Quitter)
- Afficher ce menu, et demander à l'utilisateur d'entrer l'entier correspondant à son choix.
- Compléter le programme en implémentant l'algorithme suivant :
si le choix est 1 afficher "choix 1" sinon si le choix est 2 afficher "choix 2"
- Comment afficher le menu tant que l'utilisateur n'a pas choisi de quitter ? Implémenter votre solution.