Correction exercices les fichiers en Python
Sommaire
- 1- Objectifs
- 2- Exercice 01
- 2.1- Énoncé
- 2.2- Solution
- 3- Exercice 02
- 3.1- Énoncé
- 3.2- Solution
- 4- Exercice 03
- 4.1- Énoncé
- 4.2- Solution
- 5- Exercice 04
- 5.1- Énoncé
- 5.2- Solution
- 6- Exercice 05
- 6.1- Énoncé
- 6.2- Solution
- 7- Exercice 06
- 7.1- Énoncé
- 7.2- Solution
- 8- Exercice 07
- 8.1- Énoncé
- 8.2- Solution
- 9- Exercice 08
- 9.1- Énoncé
- 9.2- Solution
- 10- Exercice 09
- 10.1- Énoncé
- 10.2- Solution
- 10.2.1- Sommaire du cours Python
Correction exercices les fichiers en Python
-
Objectifs
-
Exercice 01
-
Énoncé
- Vous pouvez visualiser l’énoncé de l’exercice
-
Solution
-
Exercice 02
-
Énoncé
- Vous pouvez visualiser l’énoncé de l’exercice
-
Solution
- La bonne réponse est C
-
Exercice 03
-
Énoncé
- Vous pouvez visualiser l’énoncé de l’exercice
-
Solution
- La bonne réponse est C
- Les modes « r+« , « w+ » et « a+ » ouvrent le fichier pour la mise à jour (lecture et écriture). Le mode « w+ »
truncate
le fichier. -
Exercice 04
-
Énoncé
- Vous pouvez visualiser l’énoncé de l’exercice
-
Solution
- Bonne réponse: CE
-
Exercice 05
-
Énoncé
- Vous pouvez visualiser l’énoncé de l’exercice
-
Solution
- Bonne réponse: FGH
-
Exercice 06
-
Énoncé
- Vous pouvez visualiser l’énoncé de l’exercice
-
Solution
- Bonne réponse: A
-
Exercice 07
-
Énoncé
- Vous pouvez visualiser l’énoncé de l’exercice
-
Solution
- Nous utilisons pour cela la méthode
open ()
python pour ouvrir les fichier en mode lecture et ensuite la méthoderead ()
python pour récupérer le contenu des fichiers. Et puis on applique la méthodesplit ()
pour convertir le contenu récupéré en une liste python. Finalement on parcourt les deux listes avec la bouclefor
pour déterminer la liste des mots communs aux deux fichiers. -
Exercice 08
-
Énoncé
- Vous pouvez visualiser l’énoncé de l’exercice
-
Solution
Opérations | Ordre |
---|---|
if os.path.isfile(filename) : | 2 |
return file.readline() | 3 |
with open(filename, ‘r’)as file : | 1 |
return None | 5 |
else : | 4 |
inventory = open("inventory.txt", 'r')
eof = False
while eof == False:
line = inventory.readline()
if line != '' :
if line != '\n' :
print(line)
else:
print("End of file")
eof = True
inventory.close()
Explication:
f1 = open('C:/Users/bigtec/Desktop/fichier1.txt', "r")
f2 = open('C:/Users/bigtec/Desktop/fichier2.txt', "r")
contenu1 = f1.read()
contenu2 = f2.read()
liste1 = contenu1.split()
liste2 = contenu2.split()
f1.close()
f2.close()
listMotsCommuns = []
for mot in liste1:
if mot in liste2 and mot not in listMotsCommuns:
listMotsCommuns.append(mot)
print(listMotsCommuns)
def saisir():
nouveau = "o" # O -> oui ; N -> non
fichier = open("C:/Users/bigtec/Desktop/concours.txt", "a")
decision = {"a": "admis(e)", "r": "refuse(e)", "aj": "ajourne(e)"}
groupe = {"1": "TMMSI01", "2": "TMMSI02", "3": "TMMSI03", "4": "TMMSI04"
, "5": "TMMSI05", "6": "TMMSI06"}
while nouveau == "o":
cin = input("Saisir le Numero CIN : ")
nom = input("Saisir le Nom : ")
prenom = input("Saisir le prenom : ")
grp = input("saisir la groupe 1(TMMSI01)2(TMMSI02)... 6(TMMSI06): ")
age = input("saisir l age ")
dec = input("saisir la decision a(admis(e))r(refuse(e)) aj(ajourne(e)): ")
ligne = cin+";"+nom+";"+prenom+";"+groupe[grp]+";"+age+";"+decision[dec]+"\n"
fichier.write(ligne)
nouveau = input("Saisir un nouveau candidat, (o / n) ?")
fichier.close()
def admis():
fichier = open("C:/Users/bigtec/Desktop/concours.txt")
dest = open("admis.txt", "a")
for ligne in fichier:
L = ligne.split(";")
if L[4].strip() == "admis(e)":
dest.write(ligne)
fichier.close()
dest.close()
def attente():
fichier = open("C:/Users/bigtec/Desktop/admis.txt")
dest = open("attente.txt", "a")
for ligne in fichier:
L = ligne.split(";")
if int(L[3]) >= 30:
enreg = L[0]+";"+L[1]+";"+L[2]+"\n"
dest.write(enreg)
fichier.close()
dest.close()
def statistiques(dec):
fichier = open("C:/Users/bigtec/Desktop/concours.txt")
L = fichier.readlines()
fichier.close()
L1 = [] # candidats admis
L2 = [] # candidats refuses
L3 = [] # candidats ajournes
for ligne in L:
L = ligne.split(";")
if L[4].strip() == "admis(e)":
L1.append(ligne)
elif L[4].strip() == "refuse(e)":
L2.append(ligne)
else:
L3.append(ligne)
if dec == "admis":
return (len(L1)/len(L))*100
elif dec == "refuse":
return (len(L2)/len(L))*100
else:
return (len(L3)/len(L))*100
def supprimer():
fichier = open("C:/Users/bigtec/Desktop/admis.txt")
candidat = [] # contient les candidats restants
for ligne in fichier:
L = ligne.split(";")
if int(L[3]) < 30:
candidat.append(ligne)
fichier.close()
# reecrire la nouvelle liste
fichier = open("admis.txt", "w")
fichier.writelines(candidat)
fichier.close()
saisir()