Académique Documents
Professionnel Documents
Culture Documents
12.exercices Sur Les Fichiers Python-Corrigé
12.exercices Sur Les Fichiers Python-Corrigé
1. Ecrire une fonction Python qui prend en argument un fichier texte et qui renvoie le nombre de
lignes et le nombre de caractères du fichier.
2. Ecrire une fonction Python qui prend en argument un fichier texte et qui calcule et affiche
o Le nombre de mots
o Le mot le plus long
o Le mot le plus court
o Le mot qui contient plus de ‘e’.
o Le mot qui ne contient aucun ‘e’
o Le mot le plus fréquent et sa fréquence d’apparition
3. Ecrire une fonction Python qui prend en argument un fichier texte et qui renvoie un fichier texte
avec le contenu du fichier texte mais sans les sauts de lignes.
4. Ecrire une fonction Python qui prend en argument deux fichiers fichier1 et fichier2 et qui écrit à la
fin de fichier1 le contenu de fichier2.
5. Ecrire un script Python qui demande à l’utilisateur de donner n un entier supérieur ou égal à 2 et
qui renvoie dans un fichier texte les tables de multiplication des couples (i, j) de [1, n].
6. Ecrire un script Python qui prend en argument deux fichiers fichier1 et fichier2 et qui copie le
contenu de fichier1 dans fichier2 à l’envers : la dernière ligne devienne la première ligne, l’avant-
dernière ligne devient la seconde ligne , ... Les lignes, elles mêmes, ne sont pas inversées.
7. Ecrire un script Python qui compare le contenu de deux fichiers texte.
8. Ecrire un script Python qui prend en argument un fichier texte et un caractère c et qui crée un
fichier contenant le contenu de fichier dans lequel tous les espaces sont remplacés par le caractère
c. On pourra utiliser join.
9. Ecrire un script Python qui prend en argument un fichier csv contenant un répertoire (i.e. dont les
colonnes sont nom, code postal, ville ) et qui renvoie la liste des codes postaux présents dans ce
répertoire. D’abord, avec répétition, puis sans répétition. On pourra utiliser split.
10. Le but de cet exercice est de créer un moteur de QCM avec correction automatique des réponses
de l’utilisateur. Le fichier QCM est au format csv ; il est ainsi structuré : la question; une réponse
possible; une réponse possible; … ;le numéro de la bonne réponse
Exemple de QCM :
Ecrire un programme qui lit un QCM et qui présente, de manière aléatoire, les questions qui s’y
trouvent, lit les réponses de l’utilisateur, les analysent, donne le score réalisé à la fin ainsi que les
bonnes réponses aux différentes questions.
Ecrire une fonction qui lit le fichier et qui renvoie un dictionnaire sommet : (altitude, pays).Pour cela :
800011, 800029, 800053, 800057, 800077, 800083, 800089, 800113, 800117, 800119
#question 1
def nombrelignecaractere(fichier):
f=open(fichier,"r")
s=f.read()
ligne=len(s.split())
caractere=len(s)
return ligne,caractere
#question2
def imagefichier(fichier):
f=open(fichier,"r")
s=f.read()
f.close()
s=s.replace('\n', ' ')
f=open(fichier,'w')
f.write(s)
f.close()
return fichier
#question 3
f=open(fichier1,"a+")
g=open(fichier2,"r")
s=g.read()
f.write('\n'+s)
f.close()
g.close()
#question 4
def fichiertable(fichier,n):
f=open(fichier,"w")
table=" "
for i in range(1,n+1):
table=table+' '+str(i)
table=table+'\n'
for i in range(1,n+1):
ligne=str(i)+' '
for j in range(1,n+1):
ligne=ligne+' '+str(i*j)
table=table+ligne+'\n'
f.write(table)
f.close()
#question 5
f=open(fichier2,"w")
g=open(fichier1,"r")
L=g.readlines()
L.reverse()
s='\n'.join(L)
f.write(s)
f.close()
g.close()
#question 6
f1=open(fiche1,"r")
f2=open(fiche2,"r")
s1=f1.read()
s1=s1.strip()
s2=f2.read()
s2=s2.strip()
f1.close()
f2.close()
for i in range(min(len(s1),len(s2))):
if s1[i]!=s2[i]:
return False
return True
#question 7
f=open(fichier,"r")
s=f.read()
s=s.strip()
s=s.replace(' ',c)
f.close()
f=open(fichier,"w+")
s=f.write(s)
f.close()
#question 8
def repertoire(fichier):
f=open(fichier,"r")
L=f.readlines()
code=[]
for i in range(len(L)):
s=L(i]
s=s.replace(';',' ') # on remplace les ';' par l'espace
s=s.split()
code.append(s[1])#on récupere uniquement la 2eme colonn
f.close()
return code
#question 9
#question 10
#question 10